启动失败原因之一: 注意: 二进制程序名称与包名一致;----这就是crontab始终无法启动程序的原因; => 使 用 绝 对 路 径 运 行 脚 本 时 : 由 于 包 名 与 程 序 名 称 一 致 ,查找进程名时,注意使用grep -v 过滤包含进程名的字符串 如下 grep -v start.sh 避 免 ps获 取 到 的 是 执 行 start 路 径 中 与 进 程 同 名 的 包 名 start.sh脚本内容: #!/bin/bash source /etc/profile source ~/.bash_profile export LD_LIBRARY_PATH=/home/Code/ProjectGit/proxy/lib/ DT=$(date +"%Y-%m-%d %H:%M:%S ") BIN=proxy PROGRAM_PATH=/home/Code/ProjectGit/proxy/ PROGRAM_PID=$(ps aux | grep ${BIN} | grep -v grep| grep -v start.sh | awk '{print $2}') #-n 如 果 string长 度 不 为 0则 为 真 if [ -n "${PROGRAM_PID}" ]; then PROGRAM_PID=$(ps -aux | grep ${BIN} | grep -v grep| grep -v start.sh| awk '{print $2}') echo "${DT} The current process is running: - ${PROGRAM_PID}" echo "*************************************************************" else echo "#############################################################" cd ${PROGRAM_PATH} nohup ./bin/${BIN} -c conf/ >>nohup & PID=$(ps aux | grep ${BIN} | grep -v grep| grep -v start.sh| awk '{print $2}') echo "${DT} Start running the process: - ${PID}" fi
标签:BIN,grep,PID,crontab,sh,centos7,start,PROGRAM,运行 From: https://www.cnblogs.com/uagvdu/p/17074324.html