screen
나는 그것으로 식별된 프로세스를 실행할 때 실제로 대문자로 나타나는 것을 발견했습니다 .
리눅스 데비안 Wheezy.
다음은 머신에 SSH로 접속하여 실행한 screen -S test
다음 top
그곳에서 실행하는 예입니다.
me@host:~$ ps x
PID TTY STAT TIME COMMAND
4177 ? S 0:00 sshd: me@pts/0
4178 pts/0 Ss 0:00 -bash
4260 ? Ss 0:00 SCREEN -S test
4261 pts/1 Ss 0:00 /bin/bash
4813 pts/1 S+ 0:00 top
5891 pts/0 R+ 0:00 ps x
me@host:~$
이렇게 대문자로 쓴 이유가 있나요? 수도에서 이런 쇼를 본 적이 없는 것 같아요.
화면은 파일 시스템에 소문자 바이너리로 존재합니다.
me@host:~$ which screen
/usr/bin/screen
me@host:~$ l /usr/bin/screen
-rwxr-sr-x 1 root utmp 402K Sep 4 05:07 /usr/bin/screen
me@host:~$ file /usr/bin/screen
/usr/bin/screen: setgid ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.26, BuildID[sha1]=0x035fa489e79088829da70a87252e4da70fc4a6bf, stripped
me@host:~$
이것이 받아들일 수 있는 행동이라면, 아니면 제가 인식하지 못하는 새로운 경향일까요?
답변1
개발자는 screen
길을 잃은 프로세스를 종료하는 프로세스를 단순화하기 위해 이 작업을 선택했습니다. 참조 소스 코드 저장소: 버전 2.3(1991년 2월 25일) 및 3.1(1991년 9월 9일)를 포함하여다양성:
when the socket has been removed, send a SIGCHLD to the poor SCREEN
process and it will try to recover. then try a 'screen -r' again.
all the socket stuff lives now in an extra file.
그리고로부터읽어보기 파일:
screen -list
screen -ls
Show all available sockets. If there are (DEAD???) sockets, you may consider
removing them. If there are sockets missing, you may send a SIGCHLD to its
process 'SCREEN' and the process will re-establish the socket. (think of
someone cleaning /tmp thoroughly).
이름을 바꾸지 않았다면철저히, 사용자가 잘못된 프로세스에 신호를 보낼 위험이 있습니다.
답변2
cron 매뉴얼 페이지와 이 메시지에 따르면데비안 메일링 리스트,
명령이 실행되면 모든 출력이 crontab 소유자(또는 crontab의 MAILTO 환경 변수가 있는 경우 해당 사용자)에게 메일로 전송됩니다. syslog 및 ps 출력에 표시된 것처럼 이러한 프로세스를 실행하는 cron 하위 복사본의 이름은 강제로 대문자로 표시됩니다.