我已经在运行Angstrom Linux的嵌入式系统(Devkit8000,它是众所周知的BeagleBoard的克隆版)的c中编写了一个程序。由crontab执行的程序问题
该程序创建了几个线程,其中的一个线程负责使用连接到该板的摄像头拍摄图片,现在第二个线程仅将该图像移动到另一个路径。程序应该在一整天内运行,停止它的唯一方法是发送一个信号。
我编辑了crontab以在特定小时内启动程序并在必须停止时发送信号,问题是以这种方式启动程序导致进程在一段时间运行后被终止,但是,如果我手动启动程序(通过命令行),它完美地工作,不会停止。
我不知道crontab和命令行之间的这种不同行为的原因。我检查了系统日志,但没有发现任何有用的东西。我也一直在读一点,发现操作系统可以杀死一个进程,如果它使用这么多的资源,但没有意义,这只发生在只有一种情况(crontab vs手动)...
任何线索关于发生了什么?
预先感谢您!
与命令行相比,从crontab运行某些内容时,环境变量通常不会相同。确保在启动应用程序之前设置所有相关的'PATH'变量。还要确保应用程序库中可能使用的任何环境变量都具有预期值。 – HonkyTonk
正如我所说的cdarke,我会看看我的代码,以检查它是否使用任何$ ENV变量:) – Kitinz