起動時にPythonスクリプトを実行できません。

起動時にPythonスクリプトを実行できません。

Fedoraの私の/etc/rc.local外観は次のとおりです。

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi


/usr/bin/screen -dmS wixel python "/home/myuser/python-usb-wixel-xdrip/python-usb-wixel.py"
exit 0

しかし、始めてからsudo screen -r wixel私が受け取ったのはThere is no screen to be resumed matching wixel.

/usr/bin/screen -dmS wixel python "/home/myuser/python-usb-wixel-xdrip/python-usb-wixel.py"私を起動するスクリプトを実行し、sudo screen -r wixelその出力を追跡します。

起動時にスクリプトが起動しないのはなぜですか?

頑張ったsudo chmod a+rx /etc/rc.local

ベストアンサー1

あなたの説明には記載されていませんが、ここでFedoraタグを見つけました。 Fedoraはsystemdしばらく利用可能であり、それを使用するにはrc.localサービスを有効にする必要があります。

/usr/lib/systemd/system/rc-local.service詳細については、systemdサービスを確認してください。

スクリプトは/etc/rc.d/rc.localExecStart代わりに/etc/rc.local)に移動する必要があります。このファイルはパッケージで提供する必要がありますが、initscripts私のシステムにはありません。恐れずに作ってみてください。ただし、正しい権限とshebang(たとえば#!/bin/bash)を設定することを忘れないでください。起動して有効にする必要がありますrc-local.service

これはあなたに役立ちます:

# as root
mv /etc/rc.local /etc/rc.d/rc.local
sed -i '1i #!/bin/bash' /etc/rc.d/rc.local
chmod 0755 /etc/rc.d/rc.local
# this run the script immediately (!)
systemctl start rc-local.service
# this enables service to run it within boot
systemctl enable rc-local.service

systemdパラメータを使用してスクリプトを実行しますstart。何も壊れませんが、スクリプトで使用できます。

これはあなたの問題に非常に良いですrc.local。とにかくより良い解決策は、新しいシステムサービスを追加することです。インターネット上にマニュアルがいくつかあるので、そこに書くにはあまりにも怠惰です。 :) たとえば、次のようになります。http://www.linuxveda.com/2014/04/28/autostart-process-gnu-screen-systemd/

おすすめ記事