sensu 서비스가 설치되어 있는지 확인하고 싶습니다. 이 명령을 실행했는데 service --status-all| grep sensu
결과는 다음과 같습니다.
vagrant@vagrant-ubuntu-trusty-64:~$ service --status-all| grep sensu
[ ? ] apport
[ ? ] console-setup
[ ? ] cryptdisks
[ ? ] cryptdisks-early
[ ? ] dns-clean
[ ? ] irqbalance
[ ? ] killprocs
[ ? ] kmod
[ ? ] networking
[ ? ] ondemand
[ ? ] open-vm-tools
[ ? ] pppd-dns
[ ? ] rc.local
[ ? ] screen-cleanup
[ ? ] sendsigs
[ ? ] umountfs
[ ? ] umountnfs.sh
[ ? ] umountroot
[ ? ] virtualbox-guest-x11
grep
검색어 'sensu'가 포함되어 있지 않기 때문에 위의 모든 줄을 필터링하지 않는 것이 매우 이상하다고 생각합니다.
질문은: 왜?
답변1
일부 서비스는 상태를 stderr에 보고하는 것 같습니다.
$ service --status-all 2>&1 | wc -l
43
$ service --status-all 2>/dev/null | wc -l
28
$ service --status-all 2>&1 1>/dev/null | wc -l
15
28은 stdout, 15는 stderr입니다. 파이프는 stdout만 처리하기 때문에 stderr에 보고하는 것을 보고 있습니다. 대신 이렇게 하세요:
service --status-all 2>&1| grep sensu