如何停止在UNIX中运行的脚本?

时间:2012-07-31 17:51:52

标签: php unix cron terminal

我运行了一个php脚本,让我们使用“mytestscript.php”作为例子。

它将连续运行几个小时。如何从终端(UNIX)命令行停止它?

4 个答案:

答案 0 :(得分:6)

假设它在后台运行,在您的用户ID下:使用ps查找命令的PID。然后使用kill [PID]来阻止它。如果kill本身不能胜任,请执行kill -9 [PID]

如果它在前台运行,Ctrl-C(控制C)应该停止它。

阅读ps命令的文档并熟悉其选项。这是一个非常有用的命令。

答案 1 :(得分:6)

您可以尝试使用ps -e | grep php查找名称中包含“php”的所有进程。之后,您可以执行kill <PID>,将<PID>替换为ps命令为您提供的数字。

答案 2 :(得分:1)

如果您想要自动化解决方案,请尝试此操作 -

1.创建一个新的shell脚本 - vi killer.sh

2.添加以下内容

#!/bin/bash

while true
do
  sleep $1
  ps -ef | grep mytestscript.php | grep -v grep | awk '{print $2}' | xargs kill -9  
done

3.Grant可执行权限chmod +x killer.sh

4.以nohup ./killer.sh <time to sleep before killing> &

的形式执行您的脚本

5.离开并前往海滩!

答案 3 :(得分:0)

您始终可以找到正在运行的进程的进程ID。 “ps -ef | grep mytestscript.php”。查看输出并记下该过程的pid。使用kill pid来杀死进程。