如何通过发送消息的模式停止后台进程?
闲思暇想 2015-12-06 10:31:41 先说说我所了解的后台进程的启动方式和停止方式:
一、在linux环境下,在运行的脚本中最后加上&,使脚本在后台运行。
二、在脚本中使用while true的代码,形成类似“死循环”方式,使后台服务脚本反复执行。
三、在停止脚本中查询脚本在后台运行的pid号,用kill命令关闭进程。
我感觉的弊端:
可能执行的脚本要求有完整的闭环操作,所以直接kill进程可能导致服务脚本执行到一半,从而使后台的数据出现异常。
我希望的后台进程的启动和停止方式:
一、脚本中使用while循环的条件时,是判断一个参数为真。
二、停止脚本可以改变上述的那个参数为假,从而使后台服务在轮询时停止。
我曾经使用的一个类似方法:
一、在数据库中放一个参数表示后台脚本是否在运行。
二、启动服务时,修改数据库的这个参数为真。然后每次while循环时,都读取该数据库参数,并判断。
三、停止服务是,修改数据库的这个参数为假。然后每次while循环就会停止。
请谁提供其他方法能实现我希望的后台进程的启动和停止方式。