我遇到以下情况: perl脚本读取应用程序写入它的文件pid
,并试图杀死它。 但问题是我不想杀死另一个进程,所以我检查当前进程与记录的PID是否有相同的命令行。如果是这样,应用程序可能会被杀死。如何仅在当前用户的进程中找到进程的命令行
以下布鲁斯脚本找出CMDLINE:
$PIDCMDLINE = `ps -p $PID -o cmd`;
的问题是,如果另一个实例为其他用户是最多的,也许在相同的SID,它会被杀死,因为它会返回一个有效的命令线,而我不想要那样的行为。
我怎么能限制PS -p只搜索当前用户的过程(不,简单ps
不算数,因为-p nullify
PS的默认效果)
谢谢!
如果你不是根用户,你不能杀其他用户的进程。 – choroba
如果您在Linux或其他带有'/ proc'的系统上,那么您可以检查'/ proc/$ PID'的uid。 –