나는 다음과 같은 명령을 실행했습니다 nohup some_command &
. 이제 이 명령은 백그라운드에서 실행됩니다. 명령으로 볼 수 있습니다 jobs
.
출력 예:
[1]+ Running nohup some_command &
어떻게든 가질 수 있을까?살다다음과 유사한 명령 의 jobs
상태 표현top
일하다? 그러면 nohup some_command &
완료되면 목록에서 즉시 사라지나요?
답변1
프롬프트에 입력 중이거나 다른 작업이 포그라운드에 있는 동안에도 작업 완료 알림을 즉시 인쇄하고 싶다면 를 실행하세요 set -o notify
.
전경 명령이 현재 셸의 백그라운드 작업 상태를 표시하도록 하려면 jobs
루프에서 실행할 수 있습니다. 전체 화면 모드에서는 쉽게 수행할 수 있습니다.
tput clear
jobs
while sleep 1; do
tput clear
jobs
done
화면을 지우지 않고 프롬프트 아래에 목록을 표시하려면 처음에 커서 위치를 저장하고 실행할 때마다 복원하십시오.
tput sc
jobs
while sleep 1; do
tput rc
jobs
done
답변2
쉘 함수를 생성할 수 있습니다:
myjobwatch() { while true; do jobs; sleep 2; clear; done; }
그럼 그냥 실행myjobwatch