Linuxps命令詳解?
Ps是一個(gè)Linux命令,顯示系統(tǒng)上當(dāng)前運(yùn)行的進(jìn)程的信息。
一些常見(jiàn)的選項(xiàng)ps有:
-aux:以面向用戶的進(jìn)程狀態(tài)格式顯示所有用戶的所有進(jìn)程的信息。
-
linux頻繁聲明變量會(huì)不會(huì)有問(wèn)題?
Linux和平時(shí)聲明變量可能會(huì)導(dǎo)致系統(tǒng)卡死,反復(fù)讀取,對(duì)于顯卡來(lái)說(shuō)是非常消耗的。
如何在Linux上定期定期執(zhí)行命令、腳本(cron、crontab、anacron)?
在Linux上仍然有許多執(zhí)行調(diào)度任務(wù)的場(chǎng)景。例如,我們需要:
定期切割日志文件;
定時(shí)同步服務(wù)時(shí)間;
定期備份重要數(shù)據(jù);
定期執(zhí)行任務(wù)等。
在Linux服務(wù)器上實(shí)現(xiàn)調(diào)度任務(wù)的方法有很多,比如cron、anacron、sleep等。那么這幾種有什么區(qū)別,選擇哪一種呢?讓讓我們根據(jù)我的經(jīng)驗(yàn)談?wù)勎业目捶ǎ┠銋⒖肌?/p>
1、克羅恩(crond)
Crond是Linux自帶的一個(gè)守護(hù)進(jìn)程,可以用來(lái)重復(fù)執(zhí)行指定的任務(wù)。時(shí)間段可以以分鐘、小時(shí)、天、月和周來(lái)執(zhí)行。在現(xiàn)實(shí)中,我們主要依靠它來(lái)執(zhí)行預(yù)定的任務(wù)。
這里需要注意的是,crontab是crond進(jìn)程的一個(gè)惰性任務(wù)列表文件(對(duì)應(yīng)的配置文件在:/etc/crontab,但是系統(tǒng)中也有一個(gè)crontab命令,通過(guò)它我們可以編輯任務(wù)列表)。我們?cè)赾rontab中記錄調(diào)度的任務(wù),任務(wù)的執(zhí)行依賴于crond守護(hù)進(jìn)程。
2、anacron
Anacron(對(duì)應(yīng)的配置文件在:/etc/anacrontab)可以理解為cron的補(bǔ)充,但兩者的定位不同。Cron定位是一個(gè)全天候的規(guī)劃器,而anacron用于處理Linux系統(tǒng)上非全天候運(yùn)行的crontab。It有點(diǎn)繞遠(yuǎn)了。簡(jiǎn)單來(lái)說(shuō),如果每周六日關(guān)閉一個(gè)服務(wù)器,周六日?qǐng)?zhí)行幾個(gè)crontab,那么anacron就可以發(fā)揮作用。啟動(dòng)后,anacron會(huì)檢查哪些任務(wù)應(yīng)該執(zhí)行但在關(guān)機(jī)時(shí)執(zhí)行失敗,找到這些任務(wù),執(zhí)行它們,然后anacron就會(huì)停止。
其實(shí)anacron懶到crontab,anacron可以被crontab執(zhí)行。
阿納克朗耶普通用戶基本不用!
3、睡眠
另一種方案是通過(guò)sh腳本執(zhí)行while(真)sleep操作來(lái)模擬定時(shí)任務(wù)。這在一些PHP腳本中很常見(jiàn),用來(lái)模擬"守護(hù)進(jìn)程"效果。執(zhí)行一段代碼后,它會(huì)休眠一段指定的時(shí)間,然后再次執(zhí)行。
綜上所述,實(shí)際中99%的時(shí)間任務(wù)都是通過(guò)命令crontab和文件/etc/crontab來(lái)設(shè)置的,時(shí)間任務(wù)的執(zhí)行是通過(guò)Linux自帶的crond守護(hù)進(jìn)程來(lái)完成的。
那個(gè)這是我的看法。你怎么看待這個(gè)問(wèn)題?歡迎在下方評(píng)論區(qū)交流~我是科技領(lǐng)域的創(chuàng)作者,有十年互聯(lián)網(wǎng)行業(yè)經(jīng)驗(yàn)。歡迎關(guān)注我了解更多科技知識(shí)!