이 글은 우분투 리눅스에서 부팅 시 특정 파이썬 프로그램 등을 자동 실행(autorun)하는 방법을 간단히 설명한 것이다.
파이썬 코딩
다음과 같이 /usr/bin 폴더 아래 파이썬 파일을 코딩한다.
sudo vim /usr/bin/test_service.py
소스 코드는 다음과 같다.
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("localhost", 8877))
s.listen(1)
while True:
conn, addr = s.accept()
data = conn.recv(2048)
conn.close()
print(data)
서비스 등록 및 시작
서비스 설정 파일을 생성한다.
sudo vim /lib/systemd/system/test.service
내용은 다음과 같다.
[Unit]
Description=Test Service
After=multi-user.target
Conflicts=getty@tty1.service
[Service]
Type=simple
ExecStart=/usr/bin/python3 /usr/bin/test_service.py
StandardInput=tty-force
[Install]
WantedBy=multi-user.target
다음과 같이 생성된 서비스를 실행한다.
sudo cp test.service /lib/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable test.service
sudo systemctl start test.service
다음 명령으로 재실행할 수도 있다
sudo systemctl restart test.service
정상적인 실행 결과는 다음과 같다.
레퍼런스
안녕하세요 좋은 글 많이 보고 배우고 있습니다!
답글삭제다름이 아니라 제가 똑같이 샘플로 진행을 해봤는데 로그인이 되고 마우스도 움직이지만 보라색 화면만 나오는 상태가 되었습니다..ㅠㅠㅠ 혹시 이러한 이슈를 해결할 수 있는 방법이 있을까요? grub창도 안넘어가고 ctrl+alt+f3 도 동작을 안합니다..
OS : Ubuntu18.04 이고 GPU : NVIDIA 2070super 입니다!
서비스 등록하는 데, 보라색 화면이 나오는 현상은 저도 듣보잡이라... 모르겠습니다. 한번 서비스 등록 해제해 보시고, 같은 현상이 나오면, 서비스와는 관계 없는 문제니 그곳에서 해결해 보시는 게 좋을 듯 해요.
삭제Thanks for sharing a very informative article! Are you looking for the best web development, app development & Node JS Development Services then visit us now.
답글삭제