Ps

如何確定 bash 正在執行哪個腳本?

  • June 9, 2016

我如何確定程序正在執行哪個腳本?當我使用:

ps -u user

我得到以下輸出:

10005194 26932  0.0  0.0 112700  1544 ?        Ss   Jun03   0:00 -bash
10005194 27117  0.0  0.0 112700  1528 ?        Ss   Apr24   0:00 -bash
10005194 27164  0.0  0.0 112700  2040 ?        Ss   Jun06   0:00 -bash
10005194 27404  0.0  0.0 112700  1544 ?        Ss   May27   0:00 -bash
10005194 27484  0.0  0.0 112700  1528 ?        Ss   Apr23   0:00 -bash
10005194 27531  0.0  0.0 112700  1528 ?        Ss   May22   0:00 -bash
...

有數百行。我知道該使用者正在執行許多腳本,但我想縮小哪些腳本保留線上程上。有沒有辦法做到這一點?

使用w(對於“寬”)選項。

man ps(搜尋wide):

w 寬輸出。使用此選項兩次以獲得無限寬度。

例如ps ww -u cas

$ ps ww -U cas | grep bash
1350 pts/0    Ss     0:00 -bash
18345 pts/34   S      0:00 /bin/bash /home/cas/bin/myscript.sh
21293 pts/34   Ss+    0:00 bash

-bash是一個登錄外殼。

plainbash是一個非登錄互動式 shell - tty是相同的,因此您可以判斷它是bash shellpts/34的父 shell(或遠方的祖父) 。myscript.sh

使用 /usr/env/bin bash 會阻止您確定正在執行的腳本。相反,您應該準確指定 bash 執行檔是否適用於您正在執行的機器。

引用自:https://unix.stackexchange.com/questions/288298