我正在尝试在屏幕锁定/解锁时执行 bash 命令。
根据教程和 StackExchange 问题,我得出了以下代码:
#!/bin/bash
while true; then #added to try to solve the issue, but alas it did not
dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" |
while read sign; do
case "$sign" in
*"boolean false"*) echo "Screen unlocked";;
*"boolean true"*) echo "Screen locked";;
esac
done
done
我使用以下命令启动该程序:
nohup myprogram.sh &
开始时一切运行良好,但过了一段时间(几个小时),屏幕锁定/解锁时不再有回声输出。
检查的输出ps aux | grep mycommand
,我在开始时得到以下结果:
user <pid1> 0.0 0.0 <number> <number> pts/2 S 13:01 0.00 /bin/bash myprogram.sh
user <pid2> 0.0 0.0 <number> <number> pts/2 S 13:01 0.00 /bin/bash myprogram.sh
当它中断并且不再发出消息后,输出ps
只显示一行。
我正在使用 CentOS 6.5 和 Gnome 2.28。
您对可能发生的事情有什么见解吗?