我运行了一个脚本postData.sh,但是当我做“ps -ef”时,我没有看到程序列表中的脚本正在运行,但是我看到额外的进程正在运行。 我如何确定pid,这样我就可以杀死脚本,因为它现在在后台?
谢谢,Dean
获取进程使用的PID:
pidof postData.sh
替代方法:
pgrep postData.sh
这可能会帮助您find它,因为它会打印进程ID,父进程ID和扩展命令
ps -eo pid,ppid,start_time,command
这将成为一个方便的过程树。
pstree -pu
如果你发现了一些你可能希望暂停的东西,为了评估它是否正确的进程,你可以kill -STOP <pid> ,然后继续执行kill -CONT <pid>
好吧,我解决了。 我拷贝的脚本缺less#!/bin/bash并且由于某种原因,当我以ps -ef运行脚本时,它会显示为-bash。 现在我添加了#!/bin/bash ,它正确地显示为
[root@sdi-prod-01 manytables]# ps -ef | grep postTemp root 29165 28764 1 10:51 pts/12 00:00:00 /bin/bash ./postTemp.sh 1
grrrrrr,这是烦人的,我所有的脚本已经运行,但我不能告诉他们分开,因为这….生活和学习我猜。
如果这是你最后一个进程,你可以简单地kill $! 。
使用ps -x输出整个命令。