我构建了一个shell脚本,睡眠指定的分钟数并在完成时显示通知。获取睡眠命令在shell脚本中结束的秒数
TIME=$(zenity --scale --title="Next Session in (?) minutes")
sleep $TIME'm'
BEEP="/usr/share/sounds/freedesktop/stereo/complete.oga"
paplay $BEEP
notify-send "Next Session" "Press <Ctrl><Shift><s> to run the script again"
我使用的代码的开始的文件为基础的方法执行防止程序的多个实例。当一个用户想要在另一个实例运行时运行脚本时,它会显示脚本已经在运行的通知。
LOCKFILE=/tmp/lock.txt
if [ -e ${LOCKFILE} ] && kill -0 `cat ${LOCKFILE}`; then
notify-send "Already Running" $SECONDS
exit
fi
trap "rm -f ${LOCKFILE}; exit" INT TERM EXIT
echo $$ > ${LOCKFILE}
终于在脚本
rm -f ${LOCKFILE}
现在我想将文本添加到,告诉多少秒都留在我的壳睡眠命令通知的最后删除临时文件脚本结束。 (改变已经运行通知如下)
notify-send "Already Running" $SECONDS
为了实现我自己控制的睡眠命令while循环会影响计算机的整体性能。我认为sleep命令是一个更好的选择,因为它通过将自身发送到进程队列中的等待状态来优化进程。 有什么办法可以解决这个问题吗?
这种哇,这么多的文字,代码太少 – 2015-04-02 08:37:34