백그라운드 작업을 안정적으로 실행하거나 로그아웃하려면 화면에 -dmS 옵션이 정말로 필요합니까?

백그라운드 작업을 안정적으로 실행하거나 로그아웃하려면 화면에 -dmS 옵션이 정말로 필요합니까?

screen로그아웃 후에도 백그라운드 작업을 안정적으로 실행할 수 있는 기능을 소개하는 곳을 많이 봤습니다 . 그들은 사용한다

screen -dmS name

에 따르면 screen -h이 옵션은 다음을 의미합니다.

-dmS name 데몬으로 시작: 세션을 분리 모드로 표시합니다.

데몬이란 무엇입니까? 난 이해가 안 돼요.

간단히 입력하면 screen자동으로 화면으로 이동할 수 있다는 것을 알았습니다. 몇 가지 명령을 실행한 후 키를 누른 Ctrl+a d다음 로그아웃하세요. 이것은 여전히 ​​잘 작동합니다.그럼 이 간단한 방법이 괜찮을까요? 정말 -dmS배경 작업을 안정적으로 만들어야 합니까?


요약해 보겠습니다.

화면에 어떤 옵션을 설정하더라도 화면에서 실행 중인 모든 항목은 안전하게 로그아웃할 수 있습니다. 단, 로그아웃 시 화면을 종료하는 대신 화면을 분리해야 합니다.

-dmS백그라운드에서 작업을 비반복적으로 제출하는 편리한 옵션입니다. 그건

screen -dmS nameOfScreen command

답변1

-dm대화형으로 입력하는 대신 화면 세션에서 명령을 실행하려는 경우에만 사용하십시오.

-S나중에 쉽게 다시 연결할 수 있도록 세션에 사용 가능한 이름을 지정하기만 하면 됩니다.

대화형으로 사용하고 싶고 사람이 읽을 수 있는 이름을 지정하고 싶지 않은 경우 이러한 매개 변수를 모두 생략해도 됩니다.

screen예를 들어, 실행 명령 만 시작 /path/to/longTime하고 실행을 보고 싶지 않은 경우 다음을 수행할 수 있습니다.

screen -dmS longSession /path/to/longTime

아니면 이렇게 할 수도 있어요

screen -S longSession
$ /path/to/longTime

ctrlad

둘 다 동일한 작업을 수행하지만 하나는 스크립트하기가 더 쉽고 입력이 덜 필요합니다.

답변2

screen -dmS name command args 백그라운드에서 호출된 스크린 세션을 시작하고(즉, 분리) 해당 스크린 세션 내에서 실행되기 때문에 더 유용합니다 .namecommand args

그렇지 않은 경우 command args백그라운드에서 화면 세션이 시작됩니다.

screen -d -r name두 경우 모두 나중에 예를 들어 세션에 연결할 수 있습니다 . 에서 man screen:

-d|-D [pid.tty.host]

screen을 시작하지 않지만 다른 곳에서 실행 중인 screen 세션을 분리합니다. 화면 제어 터미널에서 "Ca d"를 입력하는 것과 같은 효과가 있습니다. -D 전원 분리 버튼과 동일합니다. 분리할 세션이 없으면 이 옵션은 무시됩니다. -r/ 옵션 과 함께 사용하면 -R 더욱 강력한 효과를 얻을 수 있습니다.

-d -r 세션을 다시 연결하거나 필요한 경우 먼저 분리하세요.

-d -R 필요한 경우 먼저 세션을 다시 연결하거나 분리하거나 생성할 수도 있습니다.

-d -RR 세션을 다시 연결하고 필요한 경우 분리하거나 생성합니다. 여러 세션을 사용할 수 있는 경우 첫 번째 세션을 사용하세요.

-D -r 세션을 다시 연결하세요. 필요한 경우 먼저 원격으로 분리하고 로그아웃하세요.

-D -R 즉시 첨부하세요. 자세히 말하면 세션이 실행 중이면 다시 연결하라는 의미입니다. 필요한 경우 먼저 원격으로 분리하고 로그아웃하세요. 실행 중이 아닌 경우 이를 생성하고 사용자에게 알립니다. 작가가 가장 좋아하는 작품입니다.

-D -RR 즉시 첨부하세요. 그게 무슨 뜻이든 간에, 그냥 그렇게 하세요.

참고: 항상 를 통해 세션 상태를 확인하는 것이 좋습니다 screen -list.

매뉴얼 페이지에는 중요한 세부 정보가 누락되어 있습니다. 다음과 같아야 합니다.

-d|-D [pid.tty.host|session name]

답변3

-dmS는 다음 작업을 강제합니다.

  1. 분리가 시작됩니다.-dm
  2. 세션에 이름을 지정할 수 있습니다.-S sessioname

데몬으로 실행한다는 것은 실행이 완료될 때까지 백그라운드에서 지정된 명령을 실행한다는 의미입니다.

화면을 시작한 다음 명령을 실행하고 분리하는 것은 -dmS를 사용하여 명령을 실행하는 것과 동일한 동작을 가져야 합니다. 게임 서버를 실행하거나 스플래시 화면을 통해 장시간 작업을 한 후 사용하는 경우가 많습니다.Ctrl-A+d

man screen옵션에 대한 자세한 내용은 매뉴얼 페이지를 확인하세요 .

관련 정보