2016-05-31 5 views
0

에서 자신의 파이썬 스크립트를 실행하지만, 기본적으로 내가 뭐하는 거지 이 모든 것은 서비스로 실행될 수 있으며, 나는 그것을 유망한 종류의 유닉스 라이브러리에 포함시킬 수 있어야한다. 이 프로세스를 수행 할 때 내 프로세스 이름은 watchman입니다. watchman &은 데몬이 정확하게 데몬이되지 않도록합니다. 데몬을 만드는 데 내가 뭔가 잘못하고있다. 나는 이것에서 초심자이다 누군가는 진짜로 이것에서 저를 도울 수있다.나는 또한 빈에서 파이썬 프로젝트 디렉토리 안에 복사합니다 실행 파일을이</p> <pre><code>python setup.py install </code></pre> <p>을 수행 할 때 전체 설치됩니다 내 자신의 파이썬 라이브러리가 배경

+0

'&'프로세스를 디몬 처리하지 않습니다. 그것은 단지 배경으로 이동합니다. 데몬이 터미널 세션을 종료하여 죽일 수없는 스레드를 가질 것이라는 가정하에 백그라운드 프로세스와 데몬은 상당히 다릅니다. – Makoto

답변

1

&은 백그라운드에서 프로세스를 실행하는 데 사용됩니다. 그것은 당신이 그것을 실행하는 터미널 (tty)에 여전히 많이 첨부되어 있습니다. 이 (init 직접 처리) 고아

  • 는 현재 프로세스에서 분리가되도록

    1. 포크 프로세스와 그 부모를 죽일 :

      는 프로세스를 데몬을 만들기 위해 기본 단계 그래서 setsid()
    2. 지금exec 당신의 데몬 프로세스
    3. 포크가 다시는 t에서 분리됩니다 사용하여 새 세션을 할당하여 그룹 터미널을 도망친 사람
    4. stdin, stdout과 같은 파일 설명자를 다시로드하십시오 (터미널에서 분리되는 동안 파일 설명자를 잃어 버렸기 때문에).