Linux 'screen' 명령 - 화면을 시작하고 동시에 실행할 항목을 실행하시겠습니까?

Linux 'screen' 명령 - 화면을 시작하고 동시에 실행할 항목을 실행하시겠습니까?

나는 연결을 끊은 후에도 계속 살아 있을 수 있는 SSH 세션 내에서 화면을 시작할 수 있게 해주는 Linux 프로그램 "screen"의 열렬한 팬입니다.화면에 대한 자세한 내용은 여기를 참조하세요.

해당 screen 세션 내에서 다른 프로그램(또는 .sh 스크립트)을 자동으로 시작하는 명령줄에서 screen 세션을 시작할 수 있는 방법이 있습니까?

라즈베리 파이의 부팅 시퀀스에 이것을 추가하여 파이가 다시 시작되더라도 자동으로 일부 소프트웨어를 실행하는 화면이 항상 실행되도록 하고 싶습니다. 그러면 언제든지 파이에 SSH를 통해 접속하여 해당 소프트웨어의 출력을 볼 수 있습니다.

나는 보았다이 솔루션, 그러나 이는 부분적으로만 도움이 됩니다. 이런 화면이 시작됩니다

screen -t "df" watch -n 10 df

"df" 명령을 성공적으로 시작합니다.

그러나 프로그램 실행이 완료되면 화면이 닫히고 사라집니다.

처음에 시작한 프로그램이 종료되어도 화면이 계속 살아있게 하고 싶습니다.

답변1

명령을 다음으로 변경합니다.

screen -t "df" bash -c 'watch -n 10 df; exec bash'

bash -c: 사용배쉬 -c여러 명령을 실행합니다.

exec bash: 후에df명령이 종료되면 외부에서 종료할 때까지 종료되지 않는 쉘(bash)이 시작됩니다.

답변2

명령이 완료된 후에도 계속 실행되는 셸에서 명령을 실행하면 됩니다.

예를 들어,실행된 스크립트가 종료되면 GNU 화면이 세션을 종료하지 못하도록 방지, 허용된 답변은

exec bash

명령 뒤에 명령이 완료되면 쉘을 시작합니다.

관련 정보