使用システム:

使用システム:

私がよくやりたいことの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を再ロードしてグラフィカル環境にログインしてサービスの状態を再確認できます。

5. お楽しみください!

おすすめ記事