我在 Debian 8 上的 systemd 服务中收到“exec format error”。
这是我的服务单位档案。
[Unit]
Description=testele
After=sinusbot9.service
[Service]
ExecStart=/home/runboti.sh
[Install]
WantedBy=default.target
这是 /home/runboti.sh 脚本。
rm -fr /tmp/.sinusbot.lock
rm -fr /tmp/.X11-unix/X40
rm -fr /tmp/.sinusbot.lock
rm -fr /tmp/.X11-unix/X40
echo Files removed and starting bots sinusbot-sinusbot9
service sinusbot start
echo service sinusbot started
rm -fr /tmp/.sinusbot.lock
rm -fr /tmp/.X11-unix/X40
sleep 5
service sinusbot1 start
echo service sinusbot1 started
rm -fr /tmp/.sinusbot.lock
rm -fr /tmp/.X11-unix/X40
sleep 5
service sinusbot2 start
echo service sinusbot1 started
rm -fr /tmp/.sinusbot.lock
rm -fr /tmp/.X11-unix/X40
sleep 5
service sinusbot3 start
echo service sinusbot3 started
rm -fr /tmp/.sinusbot.lock
rm -fr /tmp/.X11-unix/X40
sleep 5
service sinusbot5 start
echo service sinusbot4 started
rm -fr /tmp/.sinusbot.lock
rm -fr /tmp/.X11-unix/X40
sleep 5
service sinusbot6 start
echo service sinusbot6 started
rm -fr /tmp/.sinusbot.lock
rm -fr /tmp/.X11-unix/X40
sleep 5
service sinusbot7 start
echo service sinusbot7 started
rm -fr /tmp/.sinusbot.lock
sleep 5
service sinusbot8 start
echo service sinusbot8 started
rm -fr /tmp/.sinusbot.lock
rm -fr /tmp/.X11-unix/X40
sleep 5
service sinusbot9 start
echo service sinusbot9 started
rm -fr /tmp/.sinusbot.lock
rm -fr /tmp/.X11-unix/X40
echo All bots is started.
我尝试过chmod 777
、chmod 664
、 和各种其他排列,但均无济于事。我也没有通过搜索 WWW 找到答案。
systemd 抱怨什么以及如何解决它?
答案1
您需要在脚本的开头添加一个 shebang,以便内核知道如何运行它:
#!/bin/sh
rm -fr /tmp/.sinusbot.lock
…