【发布时间】:2015-10-16 03:02:44
【问题描述】:
我一直试图理解这段代码,但我无法理解它的全部内容。我知道“init”是第一个启动过程,并且该程序用于启动或结束特定提及的服务。但是'kill'中的'cat'是做什么的呢?这个程序在启动、停止和重启时系统内部会发生什么?
#!/bin/sh
test -f /usr/sbin/sshd || exit 0
case "$1" in
start)
echo -n "Starting sshd: sshd"
/usr/sbin/sshd
echo "."
;;
stop)
echo -n "Stopping sshd: sshd"
kill `cat /var/run/sshd.pid`
echo "."
;;
restart)
echo -n "Stopping sshd: sshd"
kill `cat /var/run/sshd.pid`
echo "."
echo -n "Starting sshd: sshd"
/usr/sbin/sshd
echo "."
;;
*)
echo "Usage: /etc/init.d/sshd start|stop|restart"
exit 1
;;
esac
【问题讨论】:
-
我想你已经混淆了
init进程和init.d启动服务的脚本。 -
我可能有。你能解释一下代码吗?
-
这只是一个普通的shell脚本。您只需要阅读它就可以了解它的作用。如果您不知道
cat或kill是什么,那么我建议您查看它们的手册页。该初始化脚本(位于 init.d 中的服务启动脚本称为“初始化脚本”,这可能会让您感到困惑)是sshd服务/守护进程的脚本。init进程/程序也有一个手册页。 -
欢迎来到 SO。 SO不是提出“请解释代码”类型问题的最佳场所。当您遇到特定错误或问题时,它最有效。您要问的内容与基本的 *nix 命令有关。我建议类似(基本的 unix 命令)[thegeekstuff.com/2010/11/50-linux-commands/] 或 google
unix command line getting started。 -
但是当程序运行时系统会发生什么?