![백그라운드 작업 완료 상태에 대한 "Exit 2"란 무엇입니까?](https://linux55.com/image/4351/%EB%B0%B1%EA%B7%B8%EB%9D%BC%EC%9A%B4%EB%93%9C%20%EC%9E%91%EC%97%85%20%EC%99%84%EB%A3%8C%20%EC%83%81%ED%83%9C%EC%97%90%20%EB%8C%80%ED%95%9C%20%22Exit%202%22%EB%9E%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
일부 데이터(일부 디렉토리의 *conf)를 파일에 넣고 백그라운드에서 이 작업을 수행해야 하는 연습이 있습니다. 나는 그것을했고 출력 메시지가 무엇을 의미하는지 알고 싶습니다.
[A@localhost tests]$ ls -ld /etc/*conf /usr/*conf > test1_6_conf.txt 2>&1 &
다음 줄을 입력하세요:
[1] 2533
무슨 뜻이에요? Enter를 누르면 또 다른 메시지가 나타납니다.
[A@localhost tests]$
[1]+ Exit 2 ls --color=auto -ld /etc/*conf /usr/*conf > test1_6_conf.txt 2>&1
무슨 뜻이에요? "2번출구"란 무엇인가요?
확인 결과를 입력하세요. 모든 것이 정상인 것 같습니다.
[A@localhost tests]$
[A@localhost tests]$ ls -l test1_6_conf.txt
-rw-rw-r--. 1 A A 2641 Nov 22 14:19 test1_6_conf.txt
[A@localhost tests]$
저는 Gnome 터미널 에뮬레이터인 CentOS 6.4를 사용하고 있습니다.
답변1
무슨 뜻이에요? "2번출구"란 무엇인가요?
종료상태 입니다 ls
. man ls를 참조하세요:
Exit status:
0 if OK,
1 if minor problems (e.g., cannot access subdirectory),
2 if serious trouble (e.g., cannot access command-line argument).
그 이유는 /usr에 *conf 파일이 많고 /etc
/usr에 *conf 파일이 없기 때문인 것 같습니다. 실제로 ls -ld /usr/*conf;
그것은 동일한 효과를 가질 것입니다.
따라서 기존 파일이 있는 컴퓨터에서 ls
다음을 수행 하면:
ls main.cpp; echo $?
main.cpp
0
존재하지 않는 파일의 경우:
ls main.cppp; echo $?
ls: cannot access main.cppp: No such file or directory
2
또는 백그라운드 프로세스로 ls는 존재하지 않는 파일을 찾습니다.
>ls main.cppp &
[1] 26880
ls: cannot access main.cppp: No such file or directory
[1]+ Exit 2 ls main.cppp