일반적으로 터미널에서 애플리케이션을 시작하면 터미널에 그대로 남아 있으므로 이를 누르면 Ctrl+C
애플리케이션이 종료됩니다.
[johndoe@localhost ~] gedit
그러나 일부 프로그램은 터미널에서 실행됨에도 불구하고 독립적으로 시작됩니다(예: atom
Visual code
Studio Code). 왜 그런 겁니까? 어떻게 작동하나요?
답변1
그들은 백그라운드에서 시작합니다. 보다 정확하게는 셸에서 시작된 프로세스가 종료되는 동안 계속 실행되는 다른 프로세스를 분기합니다.
이를 수행하는 방법에 대한 자세한 내용을 찾고 있다면 "daemonize"를 찾으십시오.
편집하다
@JdeBP가 지적했듯이 데몬화는 단순한 분기 및 종료 이상의 것입니다. 일반적으로 모든 파일 또는 최소 0-2개 파일 닫기, 다른 포크, 셸 프로세스 그룹에서 분리 등이 포함됩니다. 당신이 언급한 프로그램은 이것을 할 수도 있고 하지 않을 수도 있습니다.