为了处理监视器热插拔,我创建了一个单元,该单元启动一个脚本来检测插入的监视器并执行适当的操作,代码是这里
我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&
这是正确的方法吗?如何从脚本中重新启动类似的其他进程?