如何在Ubuntu上檢查特定服務是否正在執行?
我們知道可以使用top命令列印所有在後臺執行的程序。儘管top命令用於列印當前由Linux核心管理的程序或執行緒列表,但它仍然不是檢查特定服務是否在後臺執行的便捷方法。
為了理解如何檢查特定服務是否正在執行,我們首先必須理解Linux中服務的實際含義。服務基本上是在後臺持續執行的程序或程序組。
現在我們知道了什麼是服務,接下來是瞭解我們將用來檢查特定服務是否正在執行的不同命令。
第一個命令是Linux作業系統的**ps**命令。**ps**命令是“程序狀態”的縮寫,用於列出您Linux機器上當前正在執行的程序及其PID和不同的選項。
語法
ps ef | [ - options ]
讓我們使用兩個示例,首先我們將列印在您的Ubuntu機器上執行的所有程序,接下來我們將列印特定服務是否正在執行。
命令
ps ef
輸出
UID PID PPID C STIME TTY TIME CMD 0 1 0 0 25Jun21 ?? 19:53.44 /sbin/launchd 0 56 1 0 25Jun21 ?? 0:41.68 /usr/sbin/syslogd 0 57 1 0 25Jun21 ?? 0:59.28 /usr/libexec/UserEventAgent (System)
以上命令的輸出非常龐大,所以我只列印了一部分,需要注意的是輸出可能會有所不同。
命令
ps -ef | grep Terminal
以上命令將告訴我們特定服務是否在您的機器上執行。在上面的命令中,我正在檢查終端服務是否正在執行。
輸出
501 28604 1 0 Sun12PM ?? 2:43.95 /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal 501 45775 45479 0 9:31AM ttys000 0:00.01 grep Terminal
只有當您看到上面輸出的CMD列中填入了命令時,才能確認該服務實際上正在執行。
另一種檢查服務是否正在執行的方法是在上述命令中使用**aux**命令代替**-ef**標誌。
命令
ps aux | grep Terminal
輸出
immukul@192 linux-questions-code % ps aux | grep Terminal immukul 28604 3.3 0.7 5429432 57080 ?? S Sun12PM 2:46.14 /System/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal immukul 45869 0.0 0.0 4268300 520 s000 R+ 9:44AM 0:00.00 grep Terminal
廣告