systemd 后台进程

systemd 后台进程

为了处理监视器热插拔,我创建了一个单元,该单元启动一个脚本来检测插入的监视器并执行适当的操作,代码是这里

monitor_hotplug.sh使用一些信号或选项重新加载不同的进程:

   # Or restart panel 
   xfce4-panel -r

   #reload conky
   killall -s SIGUSR1 conky 

但在某些情况下,我必须像这样重新加载进程:

  # restart  plank
  killall -s SIGHUP plank
  plank 

它有一些缺点:

  • 单元处于活动状态直至木板终止
  • Plank 启动必须是脚本中的最后一个命令
  • 我无法像这样启动多个进程

为了解决这个问题,我将单位类型更改为forking,并将 plank 作为后台进程启动

  # restart  plank
  killall -s SIGHUP plank
  plank& 

这是正确的方法吗?如何从脚本中重新启动类似的其他进程?

相关内容