linux – 为什么我会使用“service sshd reload”优先于“service sshd restart”?

linux – 为什么我会使用“service sshd reload”优先于“service sshd restart”?,第1张

概述从我在 Linux上的测试来看,似乎就是这样 服务sshd重新加载 >仅在sshd已在运行时才有效 >如果sshd_config文件有问题,则停止sshd >即使sshd_config文件有问题,也返回错误代码0 service sshd restart >无论sshd是否已经运行,都可以运行 >如果sshd_config文件具有无效语法或其他问题,则停止sshd >如果sshd_config文件 从我在 Linux上的测试来看,似乎就是这样

服务sshd重新加载

>仅在sshd已在运行时才有效
>如果sshd_config文件有问题,则停止sshd
>即使sshd_config文件有问题,也返回错误代码0

service sshd restart

>无论sshd是否已经运行,都可以运行
>如果sshd_config文件具有无效语法或其他问题,则停止sshd
>如果sshd_config文件有问题,则返回非零错误代码

我知道他们正在执行不同的 *** 作,但在我看来,我应该总是使用服务sshd重启.在某些情况下,为什么服务sshd重新加载更可取?

解决方法 当您运行服务sshd命令,其中opt可以重新加载/重新启动时,它实际上运行一个带有修改过的环境的程序,如下所示:
env -i PATH="$PATH" TERM="$TERM" "${SERVICEDIR}/${SERVICE}" ${OPTIONS}

例如.:

env -i PATH=/sbin:/usr/sbin:/bin:/usr/bin TERM=xterm /etc/init.d/sshd reload

在两种情况下(重启/重新加载),sshd命令几乎都做同样的事情:

重新加载:试图杀死发送HUP信号的进程,正如你在snipet上看到的那样,它需要进程的PID来完成它. (无论sshd是否已经运行,都可以工作)

reload()    {        echo -n $"Reloading $prog: "        if [ -n "`pIDfileofproc $SSHD`" ] ; then             killproc $SSHD -HUP        else             failure $"Reloading $prog"        fi        RETVAL=$?        echo    }

restart:它就像你执行stop-> start一样.

restart() {        stop        start    }    start()    {         [ -x $SSHD ] || exit 5         [ -f /etc/ssh/sshd_config ] || exit 6         # Create keys if necessary         if [ "x${autocreate_SERVER_KEYS}" != xNO ]; then              do_rsa1_keygen              do_rsa_keygen              do_dsa_keygen         fi         echo -n $"Starting $prog: "         $SSHD $OPTIONS && success || failure         RETVAL=$?         [ $RETVAL -eq 0 ] && touch $lockfile         echo         return $RETVAL    }    stop()    {         echo -n $"StopPing $prog: "         if [ -n "`pIDfileofproc $SSHD`" ] ; then             killproc $SSHD         else         failure $"StopPing $prog"         fi         RETVAL=$?         # if we are in halt or reboot runlevel kill all running sessions         # so the TCP connections are closed cleanly         if [ "x$runlevel" = x0 -o "x$runlevel" = x6 ] ; then             trap '' TERM             killall $prog 2>/dev/null             trap TERM         fi         [ $RETVAL -eq 0 ] && rm -f $lockfile         echo    }
总结

以上是内存溢出为你收集整理的linux – 为什么我会使用“service sshd reload”优先于“service sshd restart”?全部内容,希望文章能够帮你解决linux – 为什么我会使用“service sshd reload”优先于“service sshd restart”?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1033176.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存