nohup과 스크린

nohup과 스크린

나는 nohup과거에 대규모 백그라운드 작업을 실행했지만 많은 사람들이 다음을 사용하는 것을 발견했습니다.screen이 맥락에서. screen내가 인식하지 못하는 일종의 기능적 이점을 제공 합니까 , 아니면 단지 선호의 문제입니까?

답변1

둘 다 고유한 장점과 단점이 있습니다.

북쪽면:

  1. nohup은 웹 서버나 기타 유사한 서버 프로세스와 같이 프로세스에 사용자 입력이 필요하지 않은 경우 백그라운드에서 프로세스를 실행하는 데 이상적입니다.
  2. nohup은 프로세스가 실행되는 디렉터리에 로그를 생성합니다. 로그 파일 이름은 nohup.out.
  3. CtrlC잘못된 + 또는 유사한 키 조합 으로 인해 프로세스가 종료되는 것을 방지합니다 . 단지 보증일 뿐입니다.
  4. 일반적으로 기본 설정으로 기본적으로 설치됩니다. 스크린처럼 따로 설치할 필요가 없습니다.
  5. 그 기능은 백그라운드에서 작업을 실행하고 출력을 덤프하는 데 매우 구체적입니다. 메모리 집약도가 낮습니다.

화면:

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

@rahmu, 나는 그것을 죽이려고 할 때 pid를 추측하지 않을 것입니다. 누군가/무언가를 죽이기 전에 항상 확인하세요 ;).

두 경우 모두 가장 좋은 접근 방식은 screen 및 nohup 입니다 ps -eaf | grep "nohup" | grep "your proc name/keyword".

화면을 사용하여 화면에서 무엇이 실행되고 있는지 확인하세요.

전체적으로, 그것들은 서로 다른 의제를 가진 서로 다른 두 가지이기 때문에 비교가 어렵습니다.

답변2

화면많은 기능이 있습니다. 이는 단순한 "데몬"이 아니라 터미널의 창 관리자와 비슷합니다.

어떤 시점에서 프로세스에 입력이 필요한 경우 이를 사용할 수 있으며 프로세스의 출력을 검사하고 해당 터미널에 다시 연결할 수 있습니다.

따라서 아니요, 이는 단순히 선호도의 문제가 아니며 전혀 동일한 것이 아닙니다.

답변3

screen다음을 수행할 수 있습니다.

  1. 실제 실행 화면으로 돌아가서 신호를 보내고, 얼마나 빨리 가는지 확인하고, 오류 메시지가 있는지 확인하는 등의 작업을 수행합니다.
  2. 의미 있는 제목으로 프로세스 이름을 지정하세요. 프로세스를 종료하려면 해당 프로세스 ID를 추측할 필요가 없습니다.

답변4

  1. nohup데이터베이스 필드 디버깅을 통해서도 프로세스 진행 상황을 확인할 수 있습니다.
  2. ps ax | grep nohup프로세스의 ID가 표시되며 이를 종료할 수 있습니다.
  3. nohup상대적으로 빠릅니다. 이유는 간단합니다. PC와 서버 간의 인터넷 연결에 따라 다릅니다. 인터넷 속도가 느려질 때마다 프로세스도 느려집니다.

관련 정보