1.我们知道利用ps命令可以查看系统运行的程序,我们可以利用这一点;
首先./helloword运行helloword程序,ps -ef查看程序结果
topeet 2785 2217 0 09:43 ? 00:00:00 telepathy-indicator
topeet 2792 1 0 09:43 ? 00:00:00 /usr/lib/telepathy/mission-control-5
topeet 2799 1 0 09:43 ? 00:00:00 /usr/lib/gnome-online-accounts/goa-daemon
topeet 2805 2217 0 09:43 ? 00:00:00 gnome-screensaver
topeet 2827 2217 0 09:44 ? 00:00:00 update-notifier
topeet 2867 2217 0 09:45 ? 00:00:00 /usr/lib/deja-dup/deja-dup/deja-dup-monitor
root 2888 2 0 09:48 ? 00:00:00 [kworker/1:0]
lp 2980 643 0 09:48 ? 00:00:00 /usr/lib/cups/notifier/dbus dbus://
topeet 3412 2524 18 09:54 pts/1 00:00:07 ./helloword
topeet 3415 2506 0 09:55 pts/2 00:00:00 bash
topeet 3475 3415 0 09:55 pts/2 00:00:00 ps -ef
可以看到helloword正在运行。
2.将ps的结果输入到ram里的一个文档里;
ps -ef > start_test.txt
3.利用cat命令和任意门(管道),将结果输入给grep命令,查找自己想要运行的程序是否运行;
cat start_test.txt | grep ./helloword
topeet 3412 2524 18 09:54 pts/1 00:01:09 ./helloword
如果能找到,则为真
4.如果没有正常运行,就可以启动另一个备份的程序;
if [c at start_test.txt | grep ./helloword ]
then
echo "helloword is ok"
else
/home/helloword
fi
有什么错误欢迎大家指正
大家有什么好办法欢迎指教~