当前位置:  技术问答>linux和unix

crontab的简单问题!

    来源: 互联网  发布时间:2016-07-23

    本文导语:  我先写了个简单的C程序: int main(int argc, char **argv) {   FILE *fp;   fp = fopen("hu.txt", "a");   if(fp == NULL)   {      puts("error");      exit(0);   }   fputs("hulihong", fp);   return 0; } 并把它编译后安装在/usr/bin/hu下...

我先写了个简单的C程序:
int main(int argc, char **argv)
{
  FILE *fp;
  fp = fopen("hu.txt", "a");
  if(fp == NULL)
  {
     puts("error");
     exit(0);
  }
  fputs("hulihong", fp);
  return 0;
}
并把它编译后安装在/usr/bin/hu下

然后写了个crontab文件hhh,该文件的内容如下:
*/2 * * * * /usr/bin/hu

接着执行:crontab hhh
结果hu.txt文件中没有变化,但是直接在终端执行/usr/bin/hu 就可以,请问什么原因呢?

谢谢。


|
CRONTAB与直接shell运行是有差别的,环境变量、路径什么的都不同,你把fopen("hu.txt")改成全路径

|
hu.txt 的文件目录是在 /usr/bin/hu下吗?

看您做测试 是在 */1 * * * * echo "dfdf" >> /root/work/work5/hu.txt 
这个目录下。


如果要是跟运行程序位置一样的话 不用具体写文件路径,会自认为相对路径。
如果非相对路径,一定要写绝对路径

|
PATH只是设定查找路径,运行时的“当前目录”与此无关。你最好还是指定输入输出文件的绝对路径。

如果你还是想搞清楚当前路径的话,可以
*/1 * * * * /bin/pwd > /tmp/pwd.out

然后看看pwd.out里面的内容是什么,就知道cron执行的时候的当前目录了。

|
1.
int main(int argc, char **argv)
{
  FILE *fp;
  fp = fopen("hu.txt", "a");            //这里要指定路径,否则就会在程序运行的目录下创建文件,而此目录有可能程序无权限。
  if(fp == NULL)
  {
    puts("error");
    exit(0);
  }
  fputs("hulihong", fp);
  fclose(fp);              //加入此句,关闭句柄。
  return 0;               

|



crontab  好像只有3个变量
PATH HOME USER ???

|
我建议不要直接用crontab 调用程序,而是调用一个shell,由shell调用程序
shell里要修改PWD
或者先 cd /usr/bin/hu
再 ./程序名

我想还是环境变量的问题

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求助 crontab -l & crontab -e 报错,谢各位大神先~~
  • ls -l `locate crontab`和locate crontab |ls -l有什么区别啊
  • 脚本自动添加crontab示例
  • crontab 不执行 iis7站长之家
  • 哪位大哥用过Crontab命令啊?
  • crontab 服务执行不了
  • 请问使用crontab是否必须设置环境变量?
  • crontab能让一个程序每分钟执行一次吗?
  • 如何把一个文本内的内容一次性写入crontab里
  • crontab提交的定时任务不能正常执行
  • crontab属于哪个包
  • 无法用crontab???
  • 求救,关于crontab,小妹不胜感激
  • 求救:crontab不运行 急急急啊
  • crontab 不执行
  • crontab 执行定时任务
  • 在crontab 中如何設定每5 分鐘執行一個程序
  • SOS!!!我不小心把crontab全删了,急寻补救之策!!
  • crontab 使用疑问
  • 如何使用crontab来定时执行一个.php的程序


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3