#author("2025-06-17T09:27:09+00:00","default:iseki","iseki")
#author("2025-06-17T11:52:37+00:00","default:iseki","iseki")
* systemd 

** プロセスコントロール
*** target [#za614929]
- SysVinit の runlevel の代わり
|runlevel | target |
| 0 | poweroff |
| 1 | rescue |
| 2,3 | multi-user |
| 4 | (未使用) |
| 5 | graphical |
| 6 | reboot |

- 現在の target 
-- systemctl get-default

**** target の変更 [#v3ecfecd]
- systemctl set-default multi-user
- reboot


** service file
*** 配置
- ''/usr/lib/systemd/system/'' にサービスの起動用ファイルを置く
-- 例:/usr/lib/systemd/system/apache.service
- ''systemctl enable サービス名'' で ''/etc/systemd/system/multi-user.target.wants/サービス名.service'' から /usr/lib/systemd/system/ へ シンボリックリンクが張られる.
-- 例:apache.service -> /usr/lib/systemd/system/apache.service

*** [Unit] 
*** [Service] 


**** WorkingDirectory
- 環境変数は使用できない.

**** ExecStart

**** ExecStop
- ''ExecStop'' のコマンドの実行が終了すると,''KillSignal'' で定められたシグナル(default SIGTERM)がプロセスに送信される.
-- これによりプロセスが終了処理を行えるようになる.
-- シグナルの送信の仕方は ''KillMode''(default は control-group:子プロセスを含めて全てのプロセスに送信する) で設定する.
-- [[screen]] コマンドは  SIGTERMを受け取ると,即時に停止する.

- プロセスが終了しない場合,''TimeoutStopSec'' で定められた時間(default は 90s)だけ待って,SIGKILL がプロセスに送信される.
-- ''SendSIGKILL'' = no の場合は,SIGKILLは送信されない.

*** [Install]

*** Sample
- [[for screen>./screen]]

#br

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 ページ一覧 検索 最終更新   ヘルプ   最終更新のRSS