linux跑服务用sshd吗,linux – 为什么我会使用“service sshd reload”优先于“service sshd restart”?...

当您运行服务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

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值