linux启动脚本卡住,linux 服务脚本启动问题
對于使用了 systemd 的系統,所有的 service 服務都會默認轉為 systemd 服務之后再由 systemd 來執行,轉換之后,你也可以直接使用 systemd 來執行了(它的用戶工具就是你用的 systemctl),除非是一些非 service 標準的命令,比如你自己定義一個 $1 == hello 的判斷,使用 service rsyncd hello 時,就會直接執行
而用 systemctl 執行時,使用的是轉換后的 systemd 服務,不會有你的 echo 輸出,比如你給的例子,轉換后的 systemd 服務類似于這樣:
# Automatically generated by systemd-sysv-generator
[Unit]
Documentation=man:systemd-sysv-generator(8)
SourcePath=/etc/rc.d/init.d/rsynce
Description=(null)
[Service]
Type=forking
Restart=no
TimeoutSec=5min
IgnoreSIGPIPE=no
KillMode=process
GuessMainPID=no
RemainAfterExit=yes
ExecStart=/etc/rc.d/init.d/rsynce start
ExecStop=/etc/rc.d/init.d/rsynce stop
詳細信息,可以搜索 systemd 來了解,當你熟悉 systemd 以及它與 service、init 的關系之后,你對 Linux 服務的理解就會更清晰
補充:
實際上 CentOS 倉庫里面的 rsync 包在安裝的時候會默認安裝一個名叫 rsyncd 的 systemd 服務,就是我下面發的那個示例,所以,也就是說你那個腳本是沒有必要的,你可以直接執行 systemctl start rsyncd
[Unit]
Description=fast remote file copy program daemon
ConditionPathExists=/etc/rsyncd.conf
[Service]
EnvironmentFile=/etc/sysconfig/rsyncd
ExecStart=/usr/bin/rsync --daemon --no-detach "$OPTIONS"
[Install]
WantedBy=multi-user.target
總結
以上是生活随笔為你收集整理的linux启动脚本卡住,linux 服务脚本启动问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux查询字段排序,Linux 操作
- 下一篇: 大学c语言第三章作业,华中科技大学光电子