프로그램을 백그라운드에서 영원히 실행하려면 nohup을 사용하세요
Unix/Linux에서는 프로그램을 백그라운드에서 실행하려면 프로그램 끝에 &를 사용하여 프로그램을 만드는 경우가 많습니다. 자동으로 실행됩니다. 예를 들어, 백그라운드에서 mysql을 실행하고 싶다면:
/usr/local/mysql/bin/mysqld_safe --user=mysql &
그러나 우리 프로그램 중 상당수는 mysqld와 같은 데몬으로 만들어지지 않습니다. 어쩌면 우리 프로그램은 그냥 평범한 프로그램일 뿐입니다. 일반적으로 이런 프로그램은 &로 끝나지만 터미널을 닫으면 프로그램도 닫힙니다. 그러나 백그라운드에서 실행하려면 nohup 명령을 사용할 수 있습니다. 예를 들어, 백그라운드에서 실행해야 하는 test.php가 있고 백그라운드에서 정기적으로 실행되도록 하려면 다음을 사용하세요. nohup:
nohup /root/ test.php &
팁:
[~]$ 출력을 nohup.out에 추가
글쎄요. 성공하고 동시에 프로그램 작업의 출력 정보가 현재 디렉터리 .out 파일의 nohup에 저장됩니다.
첨부: nohup 명령 참조
nohup 명령
목적: 끊지 않고 명령을 실행합니다.
구문: nohup Command [ Arg ... ] [ & ]
설명: nohup 명령은 모든 끊김(SIGHUP)을 무시하고 Command 매개변수 및 관련 Arg 매개변수로 지정된 명령을 실행합니다. 신호. 로그아웃 후 백그라운드에서 프로그램을 실행하려면 nohup 명령을 사용하십시오. nohup 명령을 백그라운드에서 실행하려면 명령 끝에 &("and" 기호)를 추가하세요.
nohup 명령의 출력이 터미널로 리디렉션되는지 여부에 관계없이 출력은 현재 디렉터리의 nohup.out 파일에 추가됩니다. 현재 디렉터리의 nohup.out 파일에 쓸 수 없는 경우 출력은 $HOME/nohup.out 파일로 리디렉션됩니다. 추가할 파일을 작성하거나 열 수 없으면 Command 매개변수에 지정된 명령이 호출되지 않습니다. 표준 오류가 터미널인 경우 표준 오류에 기록된 지정된 명령의 모든 출력은 표준 출력과 동일한 파일 설명자로 리디렉션됩니다.
종료 상태: 명령은 다음 종료 값을 반환합니다.
126 Command 매개 변수로 지정된 명령을 찾을 수는 있지만 호출할 수는 없습니다.
127 nohup 명령에 오류가 있거나 Command 매개변수에 지정된 명령을 찾을 수 없습니다.
그렇지 않은 경우 nohup 명령의 종료 상태는 Command 매개변수에 지정된 명령의 종료 상태입니다.
nohup 명령 및 해당 출력 파일
nohup 명령: 프로세스를 실행 중이고 계정에서 로그아웃해도 프로세스가 종료되지 않을 것 같은 경우 nohup 명령을 사용할 수 있습니다. . 이 명령은 계정에서 로그아웃하거나 터미널을 닫은 후에도 해당 프로세스를 계속 실행할 수 있습니다. nohup은 전화를 끊지 않는다는 뜻입니다.
이 명령의 일반적인 형식은 다음과 같습니다. nohup 명령 &
nohup 명령을 사용하여 작업을 제출합니다.
nohup 명령을 사용하여 작업을 제출하는 경우 다음을 수행합니다. 기본적으로 모든 출력은 출력 파일이 달리 지정되지 않는 한 nohup.out이라는 파일로 리디렉션됩니다.
nohup command > myout.file 2>&1 &
위 예에서 출력은 다음과 같습니다. myout.file 파일로 리디렉션되었습니다.
작업을 사용하여 작업을 확인하세요.
닫으려면 fg %n을 사용하세요.
백그라운드에서 FTP 업로드 및 다운로드를 실현할 수 있는 일반적으로 사용되는 두 가지 FTP 도구인 ncftpget 및 ncftpput도 있으므로 이 명령을 사용하여 백그라운드에서 파일을 업로드하고 다운로드할 수 있습니다.