У меня есть очень простой bash скрипт с именем test.
#!/bin/bash
while true
do
currdate=$(date +%d/%m/%Y-%H:%M:%S)
echo -e "\n$currdate ..."
sleep 1
done
Запуск этого из командной строки работает точно так же, как и ожидалось.
Я скомпилировал это с помощью SHC имеет следующее: shc -r -U -f test.sh -o test
Запуск этого из командной строки работает, как ожидалось.
Я настроил для запуска этого с помощью systemctl, добавил мой файл конфигурации в /etc/init.d
и это ссылки test
Если test
- мой не выполненный bash сценарий, то systemclt start test
работает нормально. Если я поменяю местами тест и заменим его соответствующей версией, произойдет сбой.
systemctl показывает состояние:
test.service - LSB: Test
Loaded: loaded (/etc/init.d/test; generated; vendor preset: disabled)
Active: failed (Result: exit-code) since Tue 2020-02-18 15:38:05 GMT; 6s ago
Docs: man:systemd-sysv-generator(8)
Process: 18089 ExecStart=/etc/init.d/test start (code=exited, status=7)
Tasks: 2
CGroup: /system.slice/test.service
├─18096 /home/rocket/test -c >
└─18142 sleep 1
Feb 18 15:38:05 linux-c0a9 systemd[1]: test.service: Control process exited, code=exited status=7
Feb 18 15:38:05 linux-c0a9 systemd[1]: Failed to start LSB: Test.
Feb 18 15:38:05 linux-c0a9 systemd[1]: test.service: Unit entered failed state.
Feb 18 15:38:05 linux-c0a9 systemd[1]: test.service: Failed with result 'exit-code'.
journalctl показывает:
Feb 18 15:38:05 linux-c0a9 systemd[1]: Starting LSB: Test...
Feb 18 15:38:05 linux-c0a9 test[18089]: Starting test
Feb 18 15:38:05 linux-c0a9 test[18089]: 18/02/2020-15:38:05 ...
Feb 18 15:38:05 linux-c0a9 test[18089]: ..failed
Feb 18 15:38:05 linux-c0a9 systemd[1]: test.service: Control process exited, code=exited status=7
Feb 18 15:38:05 linux-c0a9 systemd[1]: Failed to start LSB: Test.
Feb 18 15:38:05 linux-c0a9 systemd[1]: test.service: Unit entered failed state.
Feb 18 15:38:05 linux-c0a9 systemd[1]: test.service: Failed with result 'exit-code'.
Кто-нибудь знает почему это не удается и как его остановить?
Я использую только SHC, чтобы остановить пользователей, редактирующих скрипт, но не для какой-либо безопасности и т. д. c.
Спасибо