Python 3プロセスを実行するためにUbuntu 16.04でsystemdを使用しようとしています。私はこの記事をフォローしています。Ubuntu 16.04でSupervisorをインストールして構成する方法。
systemd サービスを実行できません。 status コマンドに次のように表示されます。
● supervisord.service - Supervisor daemon
Loaded: loaded (/etc/systemd/system/supervisord.service; disabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Thu 2020-02-13 12:39:03 UTC; 1s ago
Docs: http://supervisord.org
Process: 19911 ExecStop=/usr/local/bin/supervisorctl $OPTIONS shutdown (code=exited, status=203/EXEC)
Process: 19902 ExecStart=/usr/local/bin/supervisord -n -c /etc/supervisor/supervisord.conf (code=exited, status=203/E
Main PID: 19902 (code=exited, status=203/EXEC)
私はこれが何を意味するのか分かるほど、systemdやLinuxについて十分に知りません。
これは私のサービス構成です。/etc/systemd/system/supervisord.service
[Unit]
Description=Supervisor daemon
Documentation=http://supervisord.org
After=network.target
[Service]
ExecStart=/usr/local/bin/supervisord -n -c /etc/supervisor/supervisord.conf
ExecStop=/usr/local/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/local/bin/supervisorctl $OPTIONS reload
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
Alias=supervisord.service
誰もが間違っていることを説明し、解決策を提案できますか?
答え1
このコードは当時のマニュアルページに文書化されていませんが、systemd.exec
ほぼ同じ意味を持ちます。コード203は、プロセスがexecve()
指定されたランチャーイメージファイルへのアクセスを妨げる要因があることを意味する。確実な操作を実行して、プログラムイメージファイルが存在することを確認する必要があります。
私の推測では、チュートリアルでわかるように、APTがインストールされているということです。 APTパッケージがどこにインストールされているか考えてみましょう。あなたがフォローしているチュートリアルの会社は明らかにこれを行いません。
追加読書
- レナート・ポートリン(2017)。 」プロセス終了コード:システム固有の終了コード」。 システムランチャー。システムのマニュアルページ。 freedesktop.org.
- https://packages.ubuntu.com/xenial/supervisor
- /usr/binとLinuxの/usr/local/bin