Службе systemd не удалось запустить скрипт bash - PullRequest
0 голосов
/ 08 февраля 2019

Я запускаю bash-скрипт как службу systemd, но он выдает мне эту ошибку

Failed at step EXEC spawning /home/pipeline/entity-extraction/start_consumer.sh: Permission denied Feb 8 11:59:58 irum systemd[1]: ee-consumer.service: main process exited, code=exited, status=203/EXEC Feb 8 11:59:58 irum systemd[1]: Unit ee-consumer.service entered failed state. Мой bash-скрипт выполняет 2 скрипта Python и работает нормально, когда я запускаю его из терминала как
sudo bash start_consumer.sh
start_consumer.sh

while true
do
    echo "starting FIRST Consumer.py : $(date +"%T")"
    python3 /home/irum/Desktop/Marketsyc/Consumer.py &
    pid=$!
    echo "pid:$pid"
    sleep 60

    echo "starting SECOND Consumer.py : $(date +"%T")"
    python3 /home/irum/Desktop/Marketsyc/Consumer.py &
    new_pid=$!
    echo "new_pid:$new_pid"
    # Here I want to kill FIRST Consumer.py
    echo "killing first consumer"
    kill "$pid"
    sleep 60

    # Here I want to kill SECOND Consumer.py
    echo "killing second consumer"
    kill "$new_pid"
done

код моей службы systemd ee-consumer.service

[Unit]
Description=Entity extraction - consumer
After=default.target
[Service]
Type=simple
Restart=always
User=pipeline
ExecStart=/home/pipeline/entity-extraction/start_consumer.sh

какя могу решить эту проблему?

1 Ответ

0 голосов
/ 08 февраля 2019

Для выполнения systemd необходимо установить строку shebang и permission для сценария.

Добавить #!/bin/bash в начало сценария bash.И сделайте следующее,

chmod 755 /home/pipeline/entity-extraction/start_consumer.sh
...