我是unix/linux的新手,需要一个shell脚本来启动一个程序,如果它没有运行的话。该程序的名称是“literaail”,它在服务器上有一个位于“/local/publish/mtc_preprint/util/Literail.log”的日志。这个程序应该打印这个“启动ftp检查Get_Job1”。声明每30秒一次。如果没有,我需要一个shell脚本来启动这个过程。目前我做它使用这些命令手动:带有cron作业的Shell脚本在未运行时启动程序?
ps -ef | grep ftp_util_mtc_pp.sh
ps -ef | grep literail (this command lists the jar file related to the literail program)
kill "parentjobnumber" "childjobnumber"
./ftp_util_mtc_pp.sh & (this command restarts the process).
我有一个“ftp_util_mtc_pp.sh”的文件,这个文件中,我有以下命令:
#!/bin/bash
utildir="/local/publish/mtc_preprint/util"
cd $utildir
java -jar LiteRail_3.0.1.jar literail.properties > /dev/null 2>&1
exit
有人可以帮助我的shell脚本。谢谢。
已尝试查找过程编号(如果存在):PROCESS_NUM ='ps -ef | grep“$ 1”| grep -v“literail”| wc -l'如果没有运行java – Jay 2014-11-21 13:44:50
@MoeEhsani我不知道,literail是什么,但请记住,其他用户进程可能会被计算在内。 – 2014-11-21 14:33:37
整个问题在某种程度上被误导 - 使用shell脚本轮询流程表本身不是确保流程或服务继续运行的最佳方式,而是根据问题假定问题。 – 2014-11-21 16:43:10