Я учусь создавать сервис в Linux, я следую этому руководству .Мне поручено создать сценарий, который генерирует случайное число между двумя заданными числами.Для генерации случайного числа я использую:
shuf -i 30-60 -n 1
Мой программный файл script.sh:
#!/bin/bash
function start()
{
shuf -i 30-60 -n 1 --pidfile = /tmp/randn.pid
echo "PID is $(cat /tmp/randn.pid)"
}
function stop()
{
echo "Randn: Stopping Service (PID = $(cat /tmp/randn.pid))"
kill $(cat /tmp/randn.pid)
rm /tmp/randn.pid
}
function status()
{
ps -ef | grep randn | grep -v grep
echo "PID indicate indication file $(cat /tmp/randn.pid 2>
/dev/null)"
}
touch /var/lock/randn
box "$ 1" in
start)
start
;;
stop)
stop
;;
reload)
stop
sleep 1
start
;;
status)
status
;;
*)
exit 1
;;
esac
exit 0
Мой файл .service работает нормально, и его вывод показывает:
Loaded: loaded (/etc/systemd/system/randn.service; enabled; vendor preset;enabled )
Active: failed (Result:exit--code) ExecStart=/usr/local/bin/service.sh --option=start (code=exited, status=203/EXEC)
Failed to start service.
Я думаю, что есть проблема с тем, как я генерирую случайные числа в вышеприведенном скрипте.Может кто-нибудь указать, что я здесь не так делаю?