로봇, 감각 플랫폼, 기상 스테이션을 구축하는 경우 터미널에서 꺼질 때 달리기를 중단하고 싶지 않습니다. Nohup 당신에게 문제입니다. 이것은 우리가 사용하는 방법을 배우는 방법입니다 Nohup 일련의 예를 통해
명령을 시작하고 터미널 / SSH 세션 창을 닫은 후에도 시작할 경우가 있습니다. 가장 간단한 방법은 사용하는 것입니다 Nohup 터미널을 닫은 후 오랫동안 명령이나 경영진 스크립트를 시작하는 (끊임 없음).
Nohup Linux의 기본 사용
가장 기본적으로 Nohup 시작하려는 스크립트 / 명령의 이름 인 하나의 인수만으로 사용할 수 있습니다. 예를 들어, 우리가 bash 스크립트가 호출 된 경우 test.sh 우리는 그것을 시작할 수 있습니다.
nohup ./test.sh
스크립트 / 명령이 표준 출력을 생성하면 해당 출력이 작성됩니다. nohup.out 터미널이 아닙니다. 출력을 확인하는 데 사용할 수 있습니다 꼬리 파일에서 작성된 업데이트를 따르십시오.
tail -f nohup.out
Nohup 사용의 예
우리는 매초 화면에 메시지를 인쇄하는 간단한 bash 스크립트를 만들고 변수에 저장된 값을 업데이트합니다. N. 다음은 Test.sh라는 해당 파일의 코드입니다.
#!/bin/bash
n=0
while true
do
echo "I keep counting"
echo $n
n=$((n+1))
sleep 1
done
1. 텍스트 편집기를 열고 코드의 예제를 붙여 넣습니다.
2. 테스트로 파일을 홈 디렉토리에 저장하십시오.
3. 터미널을 열고 test.sh를 경영진으로 배치하십시오.
chmod +x test.sh
4. Test.sh는 명령을 시작하여 실행 가능합니다. 성공하면 Ctrl + C를 눌러 중지하십시오.
5. nohup을 사용하고 test.sh를 인수로 사용하십시오. 스크립트를 찾을 위치를 시스템에 알리려면 ./test.sh를 사용해야합니다. 터미널의 유일한 방법은 “nohup : 입구를 무시하고”nohup.out “를 추가하는 것입니다.
nohup ./test.sh
6. 두 번째 터미널을 열고 꼬리 명령을 사용하여 nohup.out 파일의 업데이트를 따르십시오. “나는 계속 계산”하고 화면 위로 상향 카운트 횟수가 나타납니다.
tail -f nohup.out
7. NOHUP 터미널을 닫으십시오. 폐쇄 확인을 요청하면 예를 선택하십시오. Tail -F를 수행하는 터미널은 계속 움직여 Nohup이 여전히 스크립트를 트리거한다는 것을 보여줍니다. 테스트를 찾아 HTOP -AI를 시작하여이를 확인했습니다.
Nohup 출력 교환
Nohup은 한계가 있습니다. 기본 설정에 따르면 nohup.out따라서 두 개의 NOHUP 케이스를 사용하면 동일한 파일로 작성합니다.
이를 우회하기 위해 리디렉션을 사용하여 출구를 다른 파일로 보낼 수 있습니다. 그래서 우리는 사용합니다 Nohup 함께 핑 Ping 명령 Google DNS 서버 중 하나를 명령하고 Googleping.txt에서 길을 저장하십시오.
1. 터미널 창을 엽니 다.
2. Nohup 명령을 사용하여 Ping 8.8.8.8을 인수로 사용하십시오. 이렇게하면 유용한 연결 테스트마다 Google DNS 서버 중 하나가됩니다.
nohup ping 8.8.8.8 > GooglePing.txt
3. 두 번째 터미널을 열고 꼬리를 사용하여 Googleping.txt를 따르십시오. 테일 출구를 기꺼이 멈출 때 Ctrl+C를 누릅니다.
nohup ping 8.8.8.8 > GooglePing.txt
4. NOHUP 터미널에서 Ctrl+C를 누르면 핑 명령을 중지하십시오.
백그라운드에서 nohup 명령을 시작합니다
언제 Nohup 그는 터미널을 통제하고 효율적으로 그를 비활성화합니다. 그러나 조금 더 Linux Magic을 사용하면 명령을 백그라운드에 넣을 수 있습니다. 명령을 백그라운드에 배치함으로써 터미널을 계속 사용할 수 있습니다.
우리는 다시 핑의 예를 사용하여 설명 할 것입니다.
1. 터미널 창을 엽니 다.
2. Nohup 명령을 사용하여 Ping 8.8.8.8을 인수로 사용한 다음 명령을 백그라운드에 추가하여 보냅니다. 이 명령의 시작 출력은 프로세스 프로세스 (PID)입니다. 나중에는 필요합니다.
nohup ping 8.8.8.8 > GooglePing.txt &
3. 두 번째 터미널을 열고 꼬리를 사용하여 Googleping.txt를 따르십시오.
4. Nohup 터미널에서 Enter를 누르면 쿼리로 돌아갑니다. Nohup 명령은 우리의 컨트롤을 다시 가져 오지만 프롬프트는 없습니다. Enter를 누르면 올바른 프롬프트 터미널을 볼 수 있습니다.
5. 배경 절차 프로세스의 ID와 함께 킬 명령을 사용하십시오. 절차가 더 이상 필요하지 않은 경우, 모범 사례는 자원을 보존하기 위해이를 죽이는 것입니다. 이 예제를 시작하기 위해 남겨두면 Ping Google DNS 서버는 컴퓨터가 꺼질 때까지 지속적으로 진행됩니다.
kill 28365