我想编写一个bash脚本,它可以在两个不同的目录中启动两个守护程序作业。这个脚本应该在前台运行,然后当我按下ctrl-c时,脚本会退出并用它关闭两个守护进程。
假设两个守护进程是两个名为daemon1
和daemon2
的可执行文件,它们需要分别启动的两个目录是dir1
和dir2
。
我该怎么写这样的剧本?
答案 0 :(得分:0)
您可以使用"&"运算符在后台运行子进程,在父进程中检索它们的PID(进程ID),然后等待"对他们两个。在Ctrl-C bash将中断"等待"并将退出两个子流程。
#!/bin/bash
cd ~/Documents
ping localhost &
pid1=$!
cd ~/Downloads
ping localhost &
pid2=$!
wait $pid1 $pid2