systemdには現在、ユーザーセッションのために使用されています。システムセッションは、すでに以前のUbuntuのリリースでsystemdにによって提供されていました。
Ubuntuの-18.04 systemctlコマンドでは、サービスとchkconfigの機能を交換します。
例えば、開始MySQLサービスの前に、コマンドは次のとおりです。
service mysql start
ためにはUbuntuの-18.04スタートmysqlのサービスは以下のとおりです。
systemctl start mysqld.service
systemdにデフォルトでは、中には/ etc / systemdに/システムディレクトリ/ libに/にsystemd /システム/ファイルの下にあるファイルへのリンクを設定ファイルを読み込みます。あなたは彼らが私たちに必要なrc.local.serviceの間で多くの起動スクリプトが存在している見ることができるのls / libに/にsystemd /システムを実行します。
オープンrc.local.serviceのスクリプトの内容は次の通り:
[単位]
説明=の/ etc / rc.localに互換性
ConditionFileIsExecutable =の/ etc / rc.localに
= network.targetした後
、[サービス]
タイプ=フォーク
ExecStart =の/ etc / rc.localに開始
ExecStop =の/ etc / rc.localを停止
ExecReload =の/ etc / rc.localに再起動
TimeoutSec = 0
RemainAfterExit =はい
組成起動スクリプト
一般的な起動スクリプトは、3つの部分から構成されています
[単位]セクション:説明及び後など、このサービスのための主要な説明。説明には、サービスカテゴリの説明をした後、サービスを記述するために使用されます。
[サービス]セクション:サービスのパラメータを操作するいくつかの特定を設定します。
タイプ=フォークがバックグラウンドで実行されているの形態であり、
ユーザーは=ユーザー、ユーザーが実行するようにサービスを設定し、
グループ=ユーザーは、ユーザーグループ、実行するようにサービスを設定することである
PID、保存するPidFileのファイルパス
特定の操作コマンドサービスのためExecStartを、
再開コマンドのExecReloadを、
ExecStop stopコマンドは、
PrivateTmp =サービスへの真の表現は、別の一時領域の割り当て
注:[サービス]スタートのセクション、再起動、すべてのコマンドを停止するには、相対パスが与えられます使用して、絶対パスでなければなりません!
サービスのインストール設定、すなわちブートを行う方法:セクションを[インストール]。これは、複数のユーザーに設定することができます。
スタートアップサービスの登録ステップ
- スクリプト、起動シーケンスの/ etc / rc.localにから分かるように、ネットワークの後ろだったが、セクションをインストールすることをあまり明確で、ブートを行う方法のない定義はありません、この構成が無効であることは明らかです。私たちが助けに必要なので、彼は、[インストール]セクションに続きます:
[インストール]
WantedBy = multi-user.target
- Ubuntuの-18.04、を見てする必要がありますが、このファイルは/etc/rc.localはデフォルトではありません、あなたが独自に作成する必要があります。このスクリプトは、単にいくつかのテストスクリプトに入れテスト、としてここでは/etc/rc.localに開始する必要があります。
touch /etc/rc.local //创建rc.local
vi /etc/rc.local
//启动脚本的内容
#!/bin/sh -e
echo "看到这行字,说明添加自启动脚本成功。" > /usr/local/test.log
exit 0
chmod +x /etc/rc.local
- このステップを完了、あなたはまた、中には/ etc /にsystemd / systemディレクトリソフトリンクを作成する必要があるようにsystemdデフォルトは、/にsystemd /システム内の/ etc設定ファイルを読むことを私たちの前の最後のステップを必要とします
ln -s /lib/systemd/system/rc.local.service /etc/systemd/system/
- 次に、システムを再起動すると、ファイルが有効にブートスクリプトかどうか/usr/local/text.logノウハウが存在するかどうかを確認します。
付録
例としてrc.local.serviceに、コマンド部systemctl
- サービスの観点から
systemctl start rc.local.service #启动服务
systemctl stop rc.local.service #停止服务
systemctl restart rc.local.service #重启服务
systemctl status rc.local.service #查看服务当前状态
systemctl is-active rc.local.service #查看服务是否处于启动状态
systemctl daemon-reload //修改脚本后重新加载
systemctl enabled rc.local.service #设置为开机自动启动
systemctl disabled rc.local.service #设置为开机禁用
systemctl list-units --type=service #显示所有已经启动的服务
いくつかのオプションのサービスファイルについて、参照
http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html