nohup vs. 화면


39

과거에는 nohup큰 백그라운드 작업을 수행했지만, screen이 맥락에서 많은 사람들이 사용하는 것을 보았습니다 . screen내가 알지 못하는 일종의 기능적 이점을 제공 합니까 , 아니면 단지 선호의 문제입니까?

답변:


25

둘 다 자신의 장점과 단점이 있습니다.

노프 :

  1. nohup은 프로세스가 웹 서버 또는 이와 같은 다른 서버 프로세스와 같은 사용자 입력이 필요하지 않을 때 백그라운드에서 프로세스를 실행하는 데 사용하는 것이 좋습니다.
  2. nohup은 프로세스 실행 디렉토리에 로그를 작성합니다. 로그 파일 이름은 nohup.out입니다.
  3. 실수 Ctrl+ C또는 유사한 키 조합 으로 인해 프로세스가 종료되는 것을 방지합니다 . 그냥 보호하십시오.
  4. 일반적으로 기본 설정으로 설치됩니다. 스크린과 같이 별도로 설치할 필요가 없습니다.
  5. 이 기능은 백그라운드에서 작업을 실행하고 출력을 덤프하는 데 매우 고유합니다. 메모리 집약적.

화면:

  1. 별도로 설치해야합니다. 데이터 센터로 이동하거나 상자에 로그인 할 수 없으며 화면이 표시 될 것으로 예상합니다.
  2. 별도의 주제로 여러 터미널을 관리하고 이름을 지정하는 것이 좋습니다.
  3. nohup과 같이 무한 시간 동안 프로세스를 실행하는 명령이 아니라 터미널 관리자가 더 많습니다.
  4. 프로세스에 사용자 입력이 필요한 경우에 더 적합합니다. 설치 스크립트와 마찬가지로 프롬프트가 표시됩니다.
  5. 수많은 기능으로 메모리가 제공됩니다. 그러나 일부는 정말 훌륭한 기능입니다.

@rahmu, 나는 그것을 죽이고 싶다면 pid를 결코 추측하지 않을 것입니다. 누군가 / 무언가를 죽이기 전에 확인하십시오;).

screen과 nohup의 두 경우 모두에 가장 좋은 방법은 다음과 같습니다 ps -eaf | grep "nohup" | grep "your proc name/keyword".

화면을 사용하여 실행중인 것을 확인하십시오.

결론적으로, 그것들은 다른 의제로 만들어진 두 가지 다른 것이므로 비교가 어렵습니다.


20

화면 에는 수많은 기능이 있습니다. 프로세스를 "데모"하는 것이 아니라 터미널의 창 관리자에 가깝습니다.

프로세스가 어느 시점에서 입력이 필요한 경우 사용할 수 있습니다. 프로세스의 출력을 확인하고 터미널에 다시 연결할 수 있습니다 ...

아니, 그것은 단지 선호의 문제가 아니라 전혀 같은 것이 아닙니다.


4
출력도 확인할 수 있습니다 nohup [...] > fileName.log 2>&1. 또한 출력이 손실되지 않습니다.
Sardathrion

1
나는 화면에 대한 설명을 좋아한다 : "터미널 용 창 관리자"!
rickumali

7

screen 당신이 할 수 있습니다 :

  1. 실제 실행 화면으로 돌아와서 신호를 보내고, 얼마나 빨리 진행되는지 확인하고, 오류 메시지가 있는지 확인하십시오.
  2. 이름은 의미있는 제목으로 처리됩니다. 하나의 프로세스를 죽이려면 프로세스 ID에 대해 추측 할 필요가 없습니다.

-2
  1. 프로세스 진행 상황은 nohup데이터베이스 필드 디버그로 도 확인할 수 있습니다 .
  2. ps ax | grep nohup 프로세스의 id를 보여 주면 죽일 수 있습니다.
  3. nohup가 더 빠르다. 간단한 이유는 PC와 서버 간의 인터넷 연결에 달려 있기 때문입니다. 인터넷이 느려지면 프로세스도 느려집니다.

2
포인트 3을 이해하지 못합니다. 자세히 설명해 주시겠습니까?
mattdm

1
포인트 2가 잘못되었습니다.
jiggunjer

# 2는 nohup 프로세스가 하나만 실행중인 경우에만 프로세스를 종료합니다. 그렇지 않으면 여러 개 표시됩니다. 두 경우 모두 포인트 2가 완전히 틀린 것은 아닙니다.
Anil_M
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.