如何终止bash文件运行的后台作业

如何终止bash文件运行的后台作业,bash,shell,Bash,Shell,我在本地为启动PHP和Webpack服务器设置了一个bash文件,如下所示: #!/bin/bash cd my-php-serivce/ php -S localhost:8000 -t public & cd ../my-react-app npm start & 在我通过/start.sh运行bash文件后,我关闭了终端 如何找到并终止该进程?我尝试了jobs,ps,fg,但找不到流程。谢谢。您应该将PID存储到文件中,以便以后使用。详情如下: #!/bin/bash c

我在本地为启动PHP和Webpack服务器设置了一个bash文件,如下所示:

#!/bin/bash
cd my-php-serivce/
php -S localhost:8000 -t public &
cd ../my-react-app
npm start &
在我通过
/start.sh
运行bash文件后,我关闭了终端


如何找到并终止该进程?我尝试了
jobs
ps
fg
,但找不到流程。谢谢。

您应该将PID存储到文件中,以便以后使用。详情如下:

#!/bin/bash
cd my-php-serivce/
php -S localhost:8000 -t public & echo $! > my_php_pid
cd ../my-react-app
npm start &
当你想杀死它时,只要:

kill -9 $(cat my-php-serivce/my_php_pid)

但最好的方法是必须使用守护进程来管理进程

您应该将PID存储到文件中,以便以后使用。详情如下:

#!/bin/bash
cd my-php-serivce/
php -S localhost:8000 -t public & echo $! > my_php_pid
cd ../my-react-app
npm start &
当你想杀死它时,只要:

kill -9 $(cat my-php-serivce/my_php_pid)

但最好的方法是必须使用守护进程来管理进程

尝试
pgrep php
如果您没有使用
nohup
关闭终端时脚本可能会终止。感谢@balki此命令很好,但它将显示我正在运行的所有php服务,但没有正确的脚本名称。您必须将PID保存在某个文件中,以便稍后查找和终止。如果没有,您必须从ps输出中猜测。如果您没有使用
nohup
,请尝试
pgrep php
,关闭终端时脚本可能会终止。感谢@balki,此命令很好,但它将显示我正在运行的所有php服务,但没有正确脚本的名称,您必须将PID保存在某个文件中,以便稍后查找并删除。如果没有,则必须从ps输出进行猜测。