每个过程都将在输出中列出 ps aux
;无论是跑步,睡觉,僵尸还是停止。
但是,在您的情况下,由于您使用来运行进程sh abc.sh
,sh
因此正在运行的application(shell)不是abc.sh
。因此,ps aux
将不包含该过程abc.sh
因为grep
不会产生任何结果。
因此,正确的使用方法是:
ps aux | grep sh
这也可能会返回您正在运行的具有字符串的其他进程 sh
的输出中的任意位置ps aux
。
你应该注意到,该进程将“跑”时的输出ps aux
有它的STAT
作为R
。如果不是,则它在您触发命令检查正在运行的进程的实例上未运行。可以在ps的手册页中找到不同的过程状态:
D uninterruptible sleep (usually IO)
R running or runnable (on run queue)
S interruptible sleep (waiting for an event to complete)
T stopped, either by a job control signal or because it is being traced
W paging (not valid since the 2.6.xx kernel)
X dead (should never be seen)
Z defunct ("zombie") process, terminated but not reaped by its parent
您也可以运行top
命令来检查进程是否正在运行或正在休眠,以及正在消耗的CPU和RAM数量。(这将再次将您的过程列出为sh
)。
但是,如果您确实希望将您的进程列为abc.sh
,那么您应该将脚本的第一行作为:
#!/bin/sh
这样外壳程序将知道要使用哪个应用程序来运行脚本(在本例中#!/bin/bash
为sh,将其更改为bash),然后使用以下命令为进程提供可执行权限:
chmod +x /path/to/abc.sh
替换/path/to/
为abc.sh
文件的位置,然后abc.sh
使用
/path/to/abc.sh
再次替换/path/to/
为abc.sh
文件的位置。
S+
意思是什么