私がよくやりたいことの1つは、権限のないユーザーとして長期実行プロセスまたはサーバーを起動し、それがまだ実行中であることを確認し、そうでなければ再起動する方法を持つことです。
たとえば、頻繁に実行されるcronジョブを設定し、プロセスが実行されていることを確認し、競合が発生した場合に再起動できます。これは、djbのdaemontools、Supervisord、launchdなどのプロセス管理ツールの中核です。ただし、これらのツールはデフォルトで構成ファイルを使用してrootとして実行されるように構成されていますが、/etc
私のプログラムと同じことを実行できるユーティリティが必要です。私のホームディレクトリにある権限のないユーザーから問題が発生しています。
ベストアンサー1
使用システム:
1. サービスユニット構成ファイルの生成
~/.config/systemd/user/<service_name>.service
[Unit]
Description=<Write some description here>
[Service]
ExecStart=<Write some command here>
Restart=always
[Install]
WantedBy=graphical.target
バラよりman systemd.service
そしてman systemd.unit
より多くの選択のために。
2. ユーザー空間でサービスを有効にする
$ systemctl --user enable <service_name>
3. 今すぐ起動し、ステータスを確認します。
$ systemctl --user start <service_name>
$ systemctl --user status <service_name>
4. 自動的に起動することを確認してください
これで、PCを再ロードしてグラフィカル環境にログインしてサービスの状態を再確認できます。