亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 2520 | 回復: 10
打印 上一主題 下一主題

異常妖異的一個問題,再次驗證了自己的淺薄,盼解答 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2005-12-23 17:23 |只看該作者 |倒序瀏覽
目前跟朋友做一個項目,使用crond來定時啟動程序

前幾天突然發(fā)現程序不能通過crond啟動,用手動的方式卻可以。

檢查下來,發(fā)現程序啟動時一處“fprintf(stderr, "Unexpected Message"”調用時出了問題

將這一行注釋掉以后程序就可以通過crond定時啟動起來。



開發(fā)環(huán)境:redhat linux7.2 內核2.4.7-10,c語言,libc-2.2.4

困擾很久了~~~

是不是通過crond調用的程序中所有指向stderr的輸出都會被重定向到某個地方,從而導致……

論壇徽章:
0
2 [報告]
發(fā)表于 2005-12-23 17:41 |只看該作者
輸出到日志文件試試

論壇徽章:
0
3 [報告]
發(fā)表于 2005-12-23 17:43 |只看該作者
試過了,輸出到日志文件也木有問題

就是通過crond調用fprintf(stderr, ...)時出問題

雖然問題得到了暫時解決,但我想弄明白阿

努力思考ing!

論壇徽章:
0
4 [報告]
發(fā)表于 2005-12-23 18:49 |只看該作者
我的Linux里沒有配置crond,不能查看它的具體行為
我懷疑是crond根本就關閉了0,1,2三個標準IO文件,建議用lsof看看

論壇徽章:
0
5 [報告]
發(fā)表于 2005-12-23 20:29 |只看該作者
試試將fprintf(stderr...)的返回值打出來看看.

論壇徽章:
0
6 [報告]
發(fā)表于 2005-12-23 23:46 |只看該作者
在HP-UX上看了下,cron的0,1,2分別被重定向到/dev/null,/var/adm/cron/log,/var/adm/cron/log,后者只對root可寫

論壇徽章:
0
7 [報告]
發(fā)表于 2005-12-25 16:23 |只看該作者
謝謝樓上3位

我使用如下測試代碼,分別在每次向stderr輸出前后,在日志文件中進行標記,再用cron每隔一小時調用一次測試程序,結果只有調用fpriintf(stderr, ...)之前的打印信息,沒有之后的


#include <stdio.h>
#include <time.h>
#include <string.h>

unsigned char * code =
"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff";

void write_to_error()
{
        int i;
        printf("code len = %d\n", strlen(code));
        for (i = 0; i < 10000; i ++)
        {
                fprintf(stderr, " --- %s  --- \n", code);
        }
}

void write_log(void)
{
        FILE *fd= NULL;
        char * dir="/mywork/log/test_log";

        fd = fopen(dir, "a+");

        if(fd == NULL)
        {
                return;
        }

        fprintf(fd, "%u --- begin --- \n", time(0));

        write_to_error();

        fprintf(fd, "%u --- end --- \n", time(0));

        fclose(fd);
}

int main()
{
        write_log();
        return 0;
}


總之,這個問題可能是由于cron重定向的位置不合理造成的,比如重定向到某個容量非常小的存儲空間去。(不過這也讓我很納悶,最多是緩沖一下而已,也不應該引起進程退出阿)

再問一下6樓的兄弟:怎樣察看cron將標準io重定向的規(guī)則呢?

[ 本帖最后由 dustman 于 2005-12-26 09:43 編輯 ]

論壇徽章:
0
8 [報告]
發(fā)表于 2005-12-25 22:07 |只看該作者
會不會是收到什么信號而中止了?
把信號處理程序注冊一下,在處理程序里打印一下看看呢。
懷疑是信號…………猜測而已。

論壇徽章:
0
9 [報告]
發(fā)表于 2005-12-25 22:09 |只看該作者
我猜測被crontab執(zhí)行的程序都是不具有控制終端的,所以在執(zhí)行你的程序中試圖寫控制終端的語句的時候就出錯退出了.

論壇徽章:
0
10 [報告]
發(fā)表于 2005-12-26 12:39 |只看該作者
用lsof觀察程序打開的文件描述符即可看到0,1,2重定向到何處
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯網協會會員  聯系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP