因为只有修改了linux软件的配置文件,杀死进程,都要重启服务才能生效,所以linux修改了文件,没有杀死进程直接重启服务没有用。
Linux是一种自由和开放源代码的类UNIX *** 作系统。
可以通过进程pid重启某一个进程,方法是用kill命令给进程发送sighup信号,而kill命令是可以用进程pid作为参数的,所以就实现了通过pid重启进程。sighup信号在kill命令中是一个-1参数表示的,比如重启1153号进程的命令就是:kill
-1
1153
HOHO相当有难度的问题。首先,我想知道的是如何叫意外杀死,一切没有执行完的都算是意外杀死么?我看用shell解决是比较合适的。大致流程如下:
首先我希望你有1234的源代码,因为我不知道你所谓的意外杀死是什么情况下意外杀死,比如通过kill来发送信号杀死他。请注意,如果你程序执行出现异常也是通过信号来杀死,不过是内核发送的,而不是你自己来发送的。所以我希望你修改1234的源代码,在他正常结束的情况下,你最好有个输出标志标识他正常结束。比如你的程序是C写的,那么希望你在正常结束后调用一个printf("success end")这个应该不难。
紧接着,你写一个shell脚本,这个脚本应该是这样
绝对路径/1234 >绝对路径/my.txt,以后想启动这个进程就用这个脚本来启动。
在希望你写一个脚本,这个脚本执行ps -le首先查看进程里面是否还存在1234这个进程,如果有就什么都不做退出,如果没有了,那你就检查my.txt文件看是否是正常结束了,如果正常结束就从cron守护进程的配置文件移除我这个检测脚本。如果没有找到 success end的话,那么就再次启动。
最后将这个脚本加到cron守护进程的配置文件中,定时启动它检测。
有点麻烦,不过这是我能想到的办法了,也许其它人有更好的办法。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)