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

  免費(fèi)注冊 查看新帖 |

Chinaunix

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

perl程序在crontab里執(zhí)行出錯 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-03-15 15:56 |只看該作者 |倒序瀏覽
編寫了一個perl expect程序,手工執(zhí)行成功,但放到solaris 的crontab 里自動執(zhí)行時,就報錯:

WARNING: terminal is not fully functional---(CLI More Help)---  (press RETURN)
Display this help:                                               h or H
Move down half display:                                        d, or ^D
Move down one line:                             Enter, e, ^E,  j or  ^N
Move down one page:                                  Space, f, ^F or ^V
Move to bottom of output:                                G, >, or ESC->
Move to top of output:                                   g,  < or ESC-<
Move up half display:                                           u or ^U
Move up one line:                                    y, ^Y, k, ^K or ^P
Move up one page:                                       b, ^B, or ESC-v
Quit automore:                                              q, Q, or ZZ
Redraw display:                                             ^L, r or ^R

程序里的環(huán)境參數(shù)設(shè)置如下:
#!/usr/local/bin/perl -w
require ("/usr/local/lib/perl5/site_perl/5.8.5/Expect.pm");
my $exp = new Expect;
sleep(1);
$exp->raw_pty(0);               
#$exp->stty();
$exp->exp_internal(1);
$exp->debug(3);
$exp->log_stdout(0);
$exp->restart_timeout_upon_receive(1);
改了其中幾個地方,把0改成1,還是不行,怎么回事。

論壇徽章:
0
2 [報告]
發(fā)表于 2011-03-16 04:59 |只看該作者
一般情況下,手工成功,crontab出錯。都是因為環(huán)境變量不同而導(dǎo)致的。
例如:起始目錄,文件權(quán)限等。

我覺得你的問題最可能是因為crontab是沒有終端tty。
這個問題。。。 貌似無解,需要終端的程序是不應(yīng)該放在crontab里面的。
crontab是自動執(zhí)行,沒有人在終端輸入東西的。

論壇徽章:
0
3 [報告]
發(fā)表于 2011-03-20 09:55 |只看該作者
我在用戶的主目錄下.cshrc里添加
set LD_LIBRARY_PATH=/usr/local/lib
umask 022
set path=(/usr/local/bin /usr/sbin /bin /usr/bin /usr/ucb /usr/ccs/bin /etc .)
if ( $?prompt ) then
        set history=32
endif
setenv EDITOR vi
setenv TERM vt100

然后重啟sun服務(wù)器,用戶登陸后,查看env
顯示已經(jīng)將TERM設(shè)置成功,但是依舊報同樣的錯誤信息:
WARNING: terminal is not fully functional
---(CLI More Help)---  (press RETURN)

論壇徽章:
0
4 [報告]
發(fā)表于 2011-03-20 21:18 |只看該作者
前段時間我也遇到這個問題,發(fā)現(xiàn)tar不能正確備份數(shù)據(jù)。
查了一下,是因為crontab是沒有終端tty。在需要放在cron里執(zhí)行的sh文件中的命令行最后加上 >/dev/null 2>&1

改為:
tar -zcvf  /tmp/bak.tar /var/www/perl/* >/dev/null 2>&1

就解決了。




那么“>/dev/null 2>&1”是什么意思呢?

Google上查到是這么說的:

> /dev/null   將輸出重定向到/dev/null,這是個空設(shè)備,也就是忽略其輸出。     
2>&1 是將錯誤輸出到標(biāo)準(zhǔn)輸出,如果在控制臺調(diào)試,也就是屏幕上,方便調(diào)試。

論壇徽章:
0
5 [報告]
發(fā)表于 2011-03-21 14:24 |只看該作者
沒有輸出tty,不會影響crontab。
默認(rèn)會將輸出以 email發(fā)送給root

但是如果程序需要tty來輸入數(shù)據(jù),會就有問題。
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP