명령줄에서 프로그램을 실행하고 실행 중에도 계속 명령줄에서 작업할 수 있는 방법은 무엇입니까?

명령줄에서 프로그램을 실행하고 실행 중에도 계속 명령줄에서 작업할 수 있는 방법은 무엇입니까?

Java 프로그램을 실행하여 다음을 입력한다고 가정해 보겠습니다.

java myProgram

그런 다음 일부 출력을 화면에 인쇄하지만 실행을 완료하는 데 몇 시간이 걸린다고 가정합니다. 동일한 터미널이 실행되는 동안 계속 작업하려면 어떤 명령을 사용해야 합니까? 나는 & 끝에 시도했지만 작동하지 않는 것 같습니다.

답변1

&명령 뒤에 a를 추가하면 됩니다 . 그러면 명령이 백그라운드에서 실행됩니다.

/dev/null여전히 출력을 얻을 수 있으므로 출력을 일부 구성 파일로 리디렉션할 수 있습니다 .

예를 들어 stdout과 stderr을 모두 리디렉션하려면 다음을 수행하세요.

java myProgram > /dev/null 2>&1 &

답변2

프로그램이 오랜 시간 실행되므로 다음을 사용하는 것이 좋습니다.화면. 프로그램을 실행한 다음 Control-a Control-c를 사용하여 다른 명령 프롬프트를 시작할 수 있습니다. 원하는 만큼 여러 번 이 작업을 수행할 수 있으며 동시에 여러 작업을 수행할 수 있습니다. 또한 로그아웃했다가 나중에 다시 로그인하더라도(종료하지 말고) 화면에 다시 연결하여 작동 방식을 확인할 수 있습니다. 정보를 보려면 "man screen"을 수행하십시오.

비슷한 도구인 tmux도 있지만 설치해야 합니다.

답변3

제 생각에는화면귀하의 특정 질문에 가장 잘 답할 수 있지만 귀하의 작업 흐름은 탭을 사용함으로써 가장 큰 이점을 얻을 수 있을 것 같습니다.

터미널에서 새 탭을 열려면 터미널을 선택한 상태에서Ctrl+T을 눌러 탭 간에 전환할 수 있습니다.Ctrl+PgUp또는Ctrl+PgDown그들 사이를 전환합니다.

이는 빠르게 직관적이 되고, 탭 사이를 빠르게 전환하여 장기 실행 프로그램을 확인하거나, 장기 작업으로 작업 중인 작업이 바쁠 때 더 많은 탭을 빠르게 생성할 수 있으므로 효율적이게 됩니다.

관련 정보