시작된 프로그램이 종료될 때 터미널이 닫히는 것을 방지하는 방법은 무엇입니까? [복사]

시작된 프로그램이 종료될 때 터미널이 닫히는 것을 방지하는 방법은 무엇입니까? [복사]

이와 같은 터미널(urxvt와 같은 터미널)을 시작하면 새 터미널이 시작되지만 5초 후에 프로그램이 종료되었기 urxvt -e sleep 5때문에 터미널이 닫힙니다 . sleep명령줄의 프로그램으로 터미널을 시작하고 해당 프로세스가 끝난 후에도 터미널을 활성 상태로 유지하려면 어떻게 해야 합니까?

실제로 제가 정말로 하고 싶은 것은 urxvt -e tmux new-session top실행 중인 tmux 세션을 사용하여 urxvt를 여는 것 입니다 top. 그러나 qend를 누르면 toptmux와 urxvt도 종료됩니다. 종료할 때 toptmux의 쉘로 이동하고 싶습니다.

답변1

실행하라고 지시한 명령을 실행하는 동안 터미널(tmux)이 닫힙니다. 대화형 셸을 먼저 실행하려면 top그렇게 하도록 지시해야 합니다. 명령을 결합하는 것은 셸의 작업이므로 중간 셸(대화형 아님)을 실행하고그것이 두 명령을 연속적으로 실행하십시오.

urxvt -e tmux new-session sh -c 'top; "$SHELL"'

답변2

한 가지 가능성:

gnome-terminal -e sh -c "sleep 5; bash"

요점은 bash초기 명령이 완료된 후(이 경우) 셸을 실행하는 것입니다. 안타깝게도 gnome-terminal -e 'sleep 5; bash'전체 문장이 sleep 5; bash명령문으로 해석되기 때문에 단순성은 불가능합니다.

관련 정보