백그라운드 작업 완료 상태에 대한 "Exit 2"란 무엇입니까?

백그라운드 작업 완료 상태에 대한 "Exit 2"란 무엇입니까?

일부 데이터(일부 디렉토리의 *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

관련 정보