我在 Fedora 下有这个启动脚本运行良好
#!/bin/sh -e
export P4JOURNAL=/var/log/perforce/journal
export P4LOG=/var/log/perforce/p4err
export P4ROOT=/var/local/perforce
export P4PORT=1666
PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin"
p4start="p4d -d"
p4stop="p4 admin stop"
p4user=perforce
case "$1" in
start)
#NOTE: in original, havent found RedHat equiv or source to include
# Havent found . /lib/lsb/init-functions
#log_action_begin_msg "Starting Perforce Server"
echo "starting perforce server from script..."
$p4start;
;;
stop)
# see above
#log_action_begin_msg "Stopping Perforce Server"
echo "stoping perforce server from script"
$p4stop;
;;
restart)
$p4stop;
$p4start;
;;
*)
echo "Usage: /etc/init.d/perforce (start|stop|restart)"
exit 1
;;
esac
但它在 ubuntu 上不起作用,不知道哪里出了问题。(p4d 和 p4 都在 /usr/local/bin 中)
任何帮助将不胜感激。
我使用 sh -x 得到这个
starting perforce server from script...
+ p4d -d
+ exit 0
结果看起来正确,但是 p4d 没有运行。
答案1
您的脚本似乎没有任何问题。当您手动运行“p4d -d”时,它是否按您预期的方式工作?如果是这样,那么我猜是某些环境变量或路径信息没有足够的信息让 p4d 做正确的事情(或有错误的信息)。