Chinaunix

标题: 怎么样在SHELL里后台执行一个程序? [打印本页]

作者: lightwiter    时间: 2005-08-23 19:17
标题: 怎么样在SHELL里后台执行一个程序?
因未知的原因,以前一个很稳定的程序现在很喜欢突然死掉。无奈之下只好先做下策。于是写了一段shell用crontab每十分钟检查一次。如果停了就执行。可是偏偏一个不大不小的问题出现了。写在shell里的后台执行的脚本居然不能执行指定的程序。去掉&就可以了。请问怎么样解决??

  1. #!/bin/bash
  2. WORKDIR="/home/csgp116"
  3. DAEMONNAME=csgpd
  4. PROGNAME="/home/csgp116/csgpd &"
  5. #PROGNAME=date

  6. cd $WORKDIR
  7. pids=`ps -ef | grep $DAEMONNAME | grep -v grep  | wc -l`
  8. datetime=`date "+[%Y-%m-%d %H:%M:%S]"`
  9. datestr=`date "+%Y-%m-%d"`
  10. LOGFILE="daemon-$datestr.log"
  11. logmsg="$datetime csgp has shutdown!start it now!"
  12. if [ $pids == 0 ]
  13. then
  14. echo $logmsg >> $LOGFILE
  15. /home/csgp116/csgpd #这样可以,但是我需要放在后台执行
  16. /home/csgp116/csgpd & #这里不执行
  17. #$PROGNAME #原来是这样的也不行
  18. fi
复制代码
[/code]
作者: lightwiter    时间: 2005-08-24 08:52
标题: 怎么样在SHELL里后台执行一个程序?
各位,看了不管对错多少给一点建议啊?
作者: lightwiter    时间: 2005-08-24 08:52
标题: 怎么样在SHELL里后台执行一个程序?
上面那一段SHELL在命令行里执行也不行。
作者: lightwiter    时间: 2005-08-26 11:28
标题: 怎么样在SHELL里后台执行一个程序?
顶顶顶
作者: seeLnd    时间: 2005-08-26 17:42
标题: 怎么样在SHELL里后台执行一个程序?
你为什么要加&, cron执行的程序不也是跑在后台么




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2