システムサービスの引数を使用してPythonファイルを実行しようとしています。したがって、サービスファイルはパラメータを受け入れ、それを「Execstart」のPythonファイルに渡す必要があります。
私のシステムファイルは次のとおりです。
[Unit]
Description=test Service On %I
After=multi-user.target
[Service]
WorkingDirectory=/home/user_name/directory
User=user_name
Type=idle
ExecStart=/usr/bin/python3 /home/user_name/directory/test.py %I
Restart=no
[Install]
WantedBy=multi-user.target
test.py:
import sys
print("arguments: "+str(sys.argv))
次のコマンドを試してみました。
sudo systemctl start $(systemd-escape --template [email protected] "arg1")
返品、
sudo systemctl start [email protected]
エラーが発生しました:ユニット[Eメール保護]見つかりません
答え1
必要なパラメーターに応じてサービスファイルの名前を指定する必要があります。
- いいえ
/etc/systemd/system/test.service
- しかし、
/etc/systemd/system/[email protected]