Как автоматически запустить скрипт Python при запуске в Linux - PullRequest
0 голосов
/ 07 октября 2019

У меня есть клиентский скрипт, который нужно запустить при запуске. Сценарий работает нормально, если я запускаю его вручную, используя systemctl start dummy.service . Серверный скрипт выполняется на другом компьютере. Но если я перезагружаю свою машину, она не запускается, и при проверке состояния она показывает, что не удалось с кодом завершения результата . Когда я запускаю свою машину и когда linux загружает все сервисы перед тем, как войти в экран входа в систему, он показывает, что не удалось запустить dummy.service, сеть недоступна . В чем именно может быть проблема?

Вот мой код dummy.service

path /lib/systemd/system/dummy.service

Description=Dummy Service
Wants=network-online.target
After=network.target network-online.target
Conflicts=getty@tty1.service

[Service]
Type=forking
ExecStart=/usr/bin/python3 /usr/bin/client.py
StandardInput=tty-force

[Install]
WantedBy=multi-user.target

И мой скрипт на pythonв / usr / bin это

#!/usr/bin/python3
import socket
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("192.168.1.105",1234))
msg=s.recv(1024)
print(msg.decode("utf-8"))

1 Ответ

0 голосов
/ 13 октября 2019
systemctl enable dummy.service

, если вы не являетесь пользователем root:

chmod 744 the_pythonscript.py
chmod 644 dummy.service
...