CentOS ボックスを起動すると、サービスが自動的に開始されます。同じことを実行するカスタム サービスを作成するにはどうすればよいでしょうか? マイニングに使用するプログラムがあり、マシンを起動するたびにhttpd
実行する必要はありません。./miner
答え1
CentOS 7.x を使用しているため、Unit を作成します。vim /usr/lib/systemd/system/miner.service
としてroot
、次の内容を入力します。
[Unit]
Description=miner
[Service]
ExecStart=/path/to/miner
[Install]
WantedBy=multi-user.target
サービスを閉じたり再読み込みしたりするために使用される特定の引数がある場合は、オプションをExecStop=
追加できます。ExecReload=
その後は、systemctl enable miner.service
起動するたびに起動するようにするだけです。
関連情報:
答え2
マイナー プログラム プロバイダーによっては、関連するサービスがすでに宣言されている場合があります。
CentOS では以下を確認できます:
# chkconfig --list
プログラムが表示されたら、起動時に自動的に実行するようにシステムに指示できます。
# chkconfig postgresql on
結果が見つからない場合は、テンプレートを使用して独自のダミー スクリプトを作成できます。例:
それを/etc/init.d/に入れてchmod +xで変更します
マイナーアプリケーションをサービスとして管理し、それに伴うすべての利点を享受できるはずです。
答え3
起動時にコマンドを実行するだけであれば、実際にサービスを作成する必要はありません。最も簡単な方法は、. /path/to/miner
/etc/rc.d/rc.local を追加することです。このファイルは起動のたびに実行されるスクリプトなので (rc.local が実行可能であることを確認してください)、サーバーの起動時にコマンドが実行されます。
ただし、実際にサービスとして処理する必要がある場合、そのための最善の方法は、CentOS 7 を使用しているか、5/6 を使用しているかによって異なります。
編集: 言い忘れましたが、これはルートとして実行されます。そのため、非ルートユーザーとして実行する必要がある場合は、代わりにsu - username -c /path/to/miner