我想写一个bashscript来按ID杀死一个进程,但我似乎无法让PID工作,因为它不断变化。这是为什么?
Jacks-MBP:~ Knof$ ps aux | grep "firefox"
Knof 515 0.0 4.3 4822060 723232 ?? U 10:28PM 4:57.15 /Applications/Firefox.app/Contents/MacOS/firefox
Knof 4489 0.0 0.0 2436888 812 s002 S+ 12:36AM 0:00.00 grep firefox
Jacks-MBP:~ Knof$ ps aux | grep "firefox"
Knof 515 0.0 4.3 4822060 723232 ?? U 10:28PM 4:57.15 /Applications/Firefox.app/Contents/MacOS/firefox
Knof 4491 0.0 0.0 2436888 812 s002 S+ 12:36AM 0:00.00 grep firefox
Jacks-MBP:~ Knof$ ps aux | grep "firefox"
Knof 515 0.0 4.3 4822060 723232 ?? U 10:28PM 4:57.15 /Applications/Firefox.app/Contents/MacOS/firefox
Knof 4493 0.0 0.0 2436888 812 s002 S+ 12:36AM 0:00.00 grep firefox
Jacks-MBP:~ Knof$ ps aux | grep "firefox"
Knof 515 0.0 4.3 4822060 723232 ?? U 10:28PM 4:57.15 /Applications/Firefox.app/Contents/MacOS/firefox
Knof 4495 0.0 0.0 2435864 800 s002 S+ 12:36AM 0:00.00 grep firefox
答案 0 :(得分:2)
每次开火
ps aux | grep "firefox"
您正在重新启动grep进程。它没有指示正在运行的Firefox的PID位于 /Applications/Firefox.app/Contents/MacOS/firefox
在你的情况下。
在你的情况下,515是杀人的过程。
答案 1 :(得分:2)
每次启动一个进程时,都会为其分配一个新的(递增)PID;即使可执行文件和所有参数都相同。
你会注意到" firefox"的PID您的所有四个电话都是相同的,表示同时没有重新启动 " grep"的PID每次通话开始(和终止)的变化。