在系统启动时,我想在后台自动运行 Chrome 驱动程序,并且能够在需要时停止并重新启动它。我使用的是 Ubuntu 16,因此我将使用 systemd。虽然我可以添加chromedriver &
for ExecStart
,但我应该添加什么ExecStop
?
答案1
如果您想从某种 shell 脚本启动/停止服务,则可以使用systemctl start/stop/restart/reload your_service.service
或systemctl enable/disable your_service.service
操作在启动期间加载的服务。
如果您想制作自定义 .service 文件,则可以使用 ExecStop、ExecStopPre 和 ExecStopPost(请参阅系统手册页.)
我见过 ExecStop 命令只是引发服务停止,或者杀死某些东西,或者调用 shell 脚本。
我不知道哪种方法更适合你......但也许你可以谷歌搜索 chromedriver
例子:
/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`