我有一个脚本foo
,如果提供一个参数start
,它会bar
在后台启动一个脚本并退出 -bar
包含一个无限循环。
在稍后阶段,我想foo
使用参数进行调用stop
,并且我希望bar
仍在后台运行的脚本停止运行。
实现这一目标的教科书方法是什么?
答案1
要按照 init 脚本通常执行的方式执行此操作,当 foo 启动 bar 时,您应该将 bar 的 PID 写入名为 /var/run/bar 的文件(或类似位置,具体取决于您的操作系统)。然后,当您调用 foo stop 时,您会读取 PID 并相应地向 bar 进程发出信号。当然还有其他解决方案,但这似乎是“教科书”答案。