시작 시 bg에서 특정 애플리케이션을 실행하고 중지할 수 있습니다.

시작 시 bg에서 특정 애플리케이션을 실행하고 중지할 수 있습니다.

시스템 시작 시 백그라운드에서 Chrome 드라이버를 자동으로 실행하고 필요할 때 중지했다가 다시 시작할 수 있도록 하고 싶습니다. 저는 Ubuntu 16을 사용하고 있으므로 systemd를 사용하겠습니다. chromedriver &에 대해 추가할 수 있지만 ExecStart무엇을 추가해야 합니까 ExecStop?

답변1

일종의 쉘 스크립트에서 서비스를 시작/중지하려는 경우 시작 중에 로드된 서비스를 사용 systemctl start/stop/restart/reload your_service.service하거나 조작할 수 있습니다.systemctl enable/disable your_service.service

사용자 정의 .service 파일을 만들려면 ExecStop, ExecStopPre 및 ExecStopPost를 사용할 수 있습니다(참조:시스템 매뉴얼 페이지.)

ExecStop 명령이 서비스를 중지시키거나 무언가를 종료시키거나 쉘 스크립트를 호출하는 것을 본 적이 있습니다.

어떤 방법이 당신에게 더 좋은지는 모르겠지만... 어쩌면 구글 크롬드라이버를 검색해 볼 수도 있습니다.

예:

/lib/systemd/system/vboxadd.service
.....................
ExecStart=/opt/VBoxGuestAdditions-5.1.8/init/vboxadd start
ExecStop=/opt/VBoxGuestAdditions-5.1.8/init/vboxadd stop

Another Service found somewhere
..........................................
RemainAfterExit=yes
ExecStart=${script} start
ExecStop=${script} stop

/lib/systemd/system/alsa-restore.service
..........
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=-/usr/sbin/alsactl -E HOME=/run/alsa restore
ExecStop=-/usr/sbin/alsactl -E HOME=/run/alsa store

/lib/systemd/system/systemd-random-seed.service
..............
ExecStart=/lib/systemd/systemd-random-seed load
ExecStop=/lib/systemd/systemd-random-seed save

Chromedriver & Selenium Server
...................................
ExecStart=/bin/java -Dwebdriver.chrome.driver=/var/www/selenium/bin/chromedriver -Dwebdriver.chrome.logfile=/home/selenium/chrome.log -Dselenium.LOGGER=/home/selenium/selenium.log -jar /var/www/selenium/bin/selenium-server-standalone-2.53.0.jar
ExecStop=kill `cat /var/spool/selenium/pid/master.pid`

관련 정보