시작 스크립트가 백그라운드에서 계속 실행됩니다.

시작 스크립트가 백그라운드에서 계속 실행됩니다.

나는 여러 창 관리자를 icewm openbox wmaker로 사용하고 다른 창 관리자를 사용하여 범용 실행 프로그램을 사용합니다.

한 줄에는 다음과 같은 내용이 있습니다(트레이 바에 볼륨 조절 애플릿을 로드하여 시스템에 즉시 설치됨).

(pnmixer || volumeicon || volti || pa-applet || pasystray || padevchooser) 2>/dev/null &

이 줄을 사용하면 시작 스크립트가 백그라운드에서 계속 실행되는 것을 알 수 있습니다(xfce4-taskmanager를 실행하거나 ps 명령을 사용하면 나열됩니다).

그 때문에 나는 다음 줄을 다시 작성하기로 결정했습니다.

if [ -f /usr/bin/pnmixer ]; then pnmixer &

elif...

elif...

fi

질문? 터미널에 다음과 같이 쓰면 알 수 있습니다. (프롬프트가 반환되지 않습니다.)

(anyword || ls) &

프롬프트가 반환되지 않는 이유는 무엇입니까? 아니면 시작하고 계속 실행하시겠습니까? if then을 사용하지 않고 제안된 첫 번째 줄을 사용할 수 있습니까?

답변1

문제를 재현할 수 없습니다. 그냥 쿠스라난다가 제안하는 대로 쳐보세요 Enter.

다음의 출력이 크게 다른가요?

$ (anyword  || ls -a )& echo main is back; sleep 2; echo finished
[3] 450612
main is back
anyword: command not found
.  ..
[3]-  Done                    ( anyword || ls --color=auto -a )
finished
$

관련 정보