我如何处理停止我的服务?
How do I handle stopping my service?
我已经将我编写的程序变成了一项服务,并且我有一个 bash 脚本可以运行以启动实际程序,因为有些事情必须按特定顺序启动。启动脚本的内容(从 init.d 脚本调用 start-stop-daemon
看起来像:
./rfid_reader &
sleep 2
java ReaderClass &
这工作正常,但是当需要停止进程时我该如何杀死它们?
我见过使用 pidfiles,我是只获取两个程序的 PID,将它们写入一个文件,然后在关闭它们时杀死它们,还是我必须 ps -ef | grep program
来获取它们PID?
假设您知道您的程序的名称,您可以按如下方式杀死它们:
killall -KILL program_name
我认为 killall
不是一个好主意。你最好把后台启动的程序PID
记录在某个文件中(例如PID_FILE
),然后kill $(<$PID_FILE)
停止它。
请参考this thread获取PID
之前启动的后台程序
我已经将我编写的程序变成了一项服务,并且我有一个 bash 脚本可以运行以启动实际程序,因为有些事情必须按特定顺序启动。启动脚本的内容(从 init.d 脚本调用 start-stop-daemon
看起来像:
./rfid_reader &
sleep 2
java ReaderClass &
这工作正常,但是当需要停止进程时我该如何杀死它们?
我见过使用 pidfiles,我是只获取两个程序的 PID,将它们写入一个文件,然后在关闭它们时杀死它们,还是我必须 ps -ef | grep program
来获取它们PID?
假设您知道您的程序的名称,您可以按如下方式杀死它们:
killall -KILL program_name
我认为 killall
不是一个好主意。你最好把后台启动的程序PID
记录在某个文件中(例如PID_FILE
),然后kill $(<$PID_FILE)
停止它。
请参考this thread获取PID
之前启动的后台程序