背景:
Ubuntu
写了一个自启动脚本(autorestart.sh),&后台运行后,想停止运行。
解决过程:
先查询进程号,再强制杀掉。
1 查阅网上资料,执行命令
ps -aux|grep autorestart.sh
ps aux|grep "autorestart.sh"
均无法查到脚本的进程号。
2 比对查找
- 执行命令 ps -ef 获取所有进程信息
- 再执行一遍脚本
- 执行命令 ps -ef 获取所有进程信息
- 4 比对两次进程信息的差异,发现多了两个进程如下图,可以看出bash进程及其子进程就是我们要找的进程。杀掉对应bash进程即可。

结论:
sh脚本通过bash进程来启动的,找到对应的bash进程杀掉。
在Ubuntu中,作者遇到一个问题:自启动脚本autorestart.sh后台运行后无法通过常规方法(如`ps aux|grep autorestart.sh`)找到其进程号。通过对比`ps -ef`命令在执行脚本前后的进程信息,作者发现脚本实际上是通过bash进程启动的。因此,正确的方法是找到并结束相应的bash进程以停止脚本运行。
4597

被折叠的 条评论
为什么被折叠?



