システムの起動時にバックグラウンドで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コマンドがサービスを停止したり、何かを終了させたり、シェルスクリプトを呼び出すことを見たことがあります。
どのような方法があなたにとって良いかはわかりませんが...多分Google Chromeドライバを検索してみてください。
例:
/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`