у меня этот сценарий запуска в 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 не работает.
Похоже, с вашим скриптом все в порядке. "P4d -d" работает так, как вы ожидаете, когда вы запускаете его вручную? Если это так, то я предполагаю, что некоторые переменные среды или информация о пути не содержат достаточно информации, чтобы p4d делал правильные действия (или имеет неправильную информацию).