CentOS 6.8에서 터미널 출력을 여는 방법은 무엇입니까?

CentOS 6.8에서 터미널 출력을 여는 방법은 무엇입니까?

내가 명령을 실행할 때

service httpd restart 

서비스가 다시 시작되었지만 서버가 성공적으로 다시 시작되었다는 피드백은 없었습니다. 이전 서버에서도 비슷한 응답이 출력되었습니다.

shutting down OK
starting OK

터미널 출력을 여는 방법은 무엇입니까? 나는 다음을 시도했다:

systemctl status httpd.service
journalctl -xn
journalctl -u httpd.service (-f)

이로 인해 "명령을 찾을 수 없습니다"가 발생합니다. 이 명령을 실행할 때:

bash -x /etc/init.d/httpd restart

알겠어요:

> + ulimit -n 1024
> + ulimit -n 4096
> + ulimit -n 8192
> + ulimit -n 16384
> + ARGV=restart
> + HTTPD=/usr/local/apache/bin/httpd
> + test -f /usr/local/apache/bin/envvars
> + . /usr/local/apache/bin/envvars
> ++ test x '!=' x
> ++ LD_LIBRARY_PATH=/usr/local/apache/lib
> ++ export LD_LIBRARY_PATH
> + LYNX='lynx -dump'
> ++ grep apache_port= /var/cpanel/cpanel.config
> ++ sed -e 's/.*=\([.0-9]*:\)\{0,1\}//;' -e 's/[^0-9]*//g'
> + PORT=80
> + STATUSURL=http://localhost:80/whm-server-status
> ++ ulimit -H -n
> + ULIMIT_MAX_FILES='ulimit -S -n 16384'
> + '[' 'xulimit -S -n 16384' '!=' x ']'
> + ulimit -S -n 16384
> + ERROR=0
> + '[' xrestart = x ']'
> + case $ARGV in
> + /usr/local/apache/bin/httpd -k restart -DSSL
> + ERROR=0
> + exit 0

다음은 httpd 스크립트입니다:

ulimit -n 1024
uulimit -n 4096
ulimit -n 8192
ulimit -n 16384
ARGV="$@"
HTTPD=/usr/local/apache/bin/httpd
if test -f /usr/local/apache/bin/envvars; then
  . /usr/local/apache/bin/envvars
fi
LYNX="lynx -dump"
PORT="$(grep 'apache_port=' /var/cpanel/cpanel.config 2>/dev/null | sed -e 's/.*=\([.0-9]*:\)\{0,1\}//;' -e 's/[^0-9]*//g' 2>/dev/null)"
STATUSURL=http://localhost:${PORT:-80}/whm-server-status
ULIMIT_MAX_FILES="ulimit -S -n `ulimit -H -n`"
if [ "x$ULIMIT_MAX_FILES" != "x" ] ; then
    $ULIMIT_MAX_FILES
fi
ERROR=0
if [ "x$ARGV" = "x" ] ; then
    ARGV="-h"
fi
case $ARGV in
start|stop|restart|graceful|graceful-stop)
    $HTTPD -k $ARGV –DSSL
    ERROR=$?
    ;;
startssl|sslstart|start-SSL)
    # echo The startssl option is no longer supported.
    $HTTPD -k start –DSSL
    ERROR=$?
    ;;
configtest)
    $HTTPD –t
    ERROR=$?
    ;;
status)
    $LYNX $STATUSURL | awk ' /process$/ { print; exit } { print } '
    ;;
fullstatus)
    $LYNX $STATUSURL
    ;;
*)
    $HTTPD $ARGV
    ERROR=$?
esac
exit $ERROR

답변1

CentOS 6 예앞으로 systemd;실행 중인 명령은 CentOS 7, Debian Jessie 또는 기타 시스템 기반 서비스에서 작동합니다.

CentOS 6의 경우 service다음 명령을 사용해야 합니다.

% sudo service httpd status
httpd (pid  2164) is running...

% ps -p 2164
  PID TTY          TIME CMD
 2164 ?        00:00:06 httpd

답변2

service httpd restart실제로 /etc/init.d/httpd restart를 실행하십시오. A는 bash -x /etc/init.d/httpd restart디버그 모드에서 스크립트를 실행합니다. 디버그 모드를 사용하면 스크립트의 echo 문이 실제로 출력을 렌더링하는지 확인할 수 있습니까? 게다가 어느 시점에서는 이 함수가 success호출될 것입니다. 이 함수는 /etc/rc.d/init.d/functions에 선언되어 있으며 인용하는 괄호 사이에 녹색 OK 텍스트를 생성합니다.

그런데 /etc/init.d에 출력을 생성하는 다른 스크립트가 있습니까? 아니면 httpd만?

관련 정보