我想要一个脚本,它可以做到以下几点:
if process_name not running
start process from path /home/data/process_name
write "date: process start" to /home/data/log.txt我从来没有写过bash脚本,我也不知道该怎么做。
发布于 2014-05-12 13:15:51
试试这个:
if ! pgrep process_name; then
/home/data/process_name &
echo "$(date): Process start" >> /home/data/log.txt
fi如果要终止进程并启动它,请尝试如下:
if ! pgrep process_name; then
/home/data/process_name &
echo "$(date): Process start" >> /home/data/log.txt
else
killall process_name
/home/data/process_name &
echo "$(date): Process start" >> /home/data/log.txt
fi发布于 2014-05-12 13:23:15
在Debian和Ubuntu上,您可以使用启动-停止-守护进程。它有各种各样的选项来帮助确定正确的过程,这样您就不会以两次启动它或杀死错误的进程而结束。手册页中的一个示例:
Start the food daemon, unless one is already running (a process named
food, running as user food, with pid in food.pid):
start-stop-daemon --start --oknodo --user food --name food --pidfile /var/run/food.pid --startas /usr/sbin/food --chuid food -- --daemon此命令确保进程属于正确的用户,具有正确的名称,并具有与/var/run/food.pid中的进程id匹配的进程id。当然,你不用全用。
https://stackoverflow.com/questions/23609912
复制相似问题