我正在开发一个只监视网页变化的程序,并播放声音文件。我使用SwingUtilities.invokeLater和JOptionPane实现了与this answer类似的功能,以确保声音文件不断循环。
程序正常运行。现在我想将它放在crontab(在我的Ubuntu机器上)并让它每30分钟运行一次。事情就是停止工作的地方。我搜索了为什么,看起来应该从初始线程(这是crontab进程?)调用JOptionPane。我知道我只需要阻止main方法结束,但最好的方法是什么(DataLine.Drain()?)。
答案 0 :(得分:0)
您试图在不确定显示服务器是否存在且可访问的情况下显示某些内容(这不是cron
启动的进程所给出的。)
您可以通过将DISPLAY
变量设置为:0
来指定显示服务器。例如:
* * * * * export DISPLAY=:0; YOUR_PROGRAM