求shell中at的用法

fxs_2008 2010-10-21 11:42:13

PHP

原来是后台运行的

system("cd $path ; php TWProdCat.php --generate >/tmp/a.txt & ");


现在想等1或2分钟后台运行

...全文
327 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
justkk 2010-10-21
  • 打赏
  • 举报
回复
试试
char buff[256];
sprintf(buff, "%s", "echo \"(cd $path ; php TWProdCat.php --generate >/tmp/a.txt & )\"|at now +2 mins");
system(buff);
justkk 2010-10-21
  • 打赏
  • 举报
回复
echo "echo hello"|at now +2 mins
fxs_2008 2010-10-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 justkk 的回复:]

echo "(cd $path ; php TWProdCat.php --generate >/tmp/a.txt & )"|at now +2 mins
[/Quote]

要放到system中如何放呢
fxs_2008 2010-10-21
  • 打赏
  • 举报
回复
system 执行的是linux命令
system("cd $path ; php TWProdCat.php --generate >/tmp/a.txt & ");

能正常运行

at我在linux中命令行试 Lat now +2 min echo hello
报语法错误,为什么呢?我用at多行输入,但也没映
justkk 2010-10-21
  • 打赏
  • 举报
回复
echo "(cd $path ; php TWProdCat.php --generate >/tmp/a.txt & )"|at now +2 mins
justkk 2010-10-21
  • 打赏
  • 举报
回复
at now +2 mins
echo "cd $path ; php TWProdCat.php --generate >/tmp/a.txt & "|at now +2 mins
steptodream 2010-10-21
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 justkk 的回复:]

晕,主席,我每次都落你后边..
[/Quote]
也不全是嘛。
justkk 2010-10-21
  • 打赏
  • 举报
回复
晕,主席,我每次都落你后边..
justkk 2010-10-21
  • 打赏
  • 举报
回复
这种是不会输出到屏幕上的,通常给用户发mail,你执行mail命令看看
或者试试echo "echo hello > /tmp/1"|at now +2 min
steptodream 2010-10-21
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 fxs_2008 的回复:]

引用 13 楼 steptodream 的回复:
看我8楼的回复 加s是不对的!
echo "echo hello"|at now +2 min


这个是对的,但2分钟后显示屏没有任何输出。atq刚开始有内容,2分钟后消失。没有输出
我的系统linux fedora 11
[/Quote]
因为结果并不是输出到屏幕上 这样测试
echo "echo hello > test.txt"|at now +1 min

1分钟后看看当前目录下 有没有出现test.txt文件 看看内容是不是hello 如果是 那就成功了!
fxs_2008 2010-10-21
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 steptodream 的回复:]
看我8楼的回复 加s是不对的!
echo "echo hello"|at now +2 min
[/Quote]

这个是对的,但2分钟后显示屏没有任何输出。atq刚开始有内容,2分钟后消失。没有输出
我的系统linux fedora 11
steptodream 2010-10-21
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 justkk 的回复:]

哦,在AIX环境是mins
[/Quote]
我越来越发现Unix和Linux在命令上的差别了
justkk 2010-10-21
  • 打赏
  • 举报
回复
哦,在AIX环境是mins
steptodream 2010-10-21
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 fxs_2008 的回复:]

引用 5 楼 justkk 的回复:

echo "echo hello"|at now +2 mins

报错
echo "echo hello"|at now +2 mins
syntax error. Last token seen: s
Garbled time
[/Quote]
看我8楼的回复 加s是不对的!
echo "echo hello"|at now +2 min
fxs_2008 2010-10-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 justkk 的回复:]

echo "echo hello"|at now +2 mins
[/Quote]
报错
echo "echo hello"|at now +2 mins
syntax error. Last token seen: s
Garbled time
pottichu 2010-10-21
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 steptodream 的回复:]

引用 9 楼 pottichu 的回复:

干嘛不写个脚本阿 ?

大家的花 怎么都没了呀
[/Quote]

秋天到了, 花儿都谢了。 :)
steptodream 2010-10-21
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 pottichu 的回复:]

干嘛不写个脚本阿 ?
[/Quote]
大家的花 怎么都没了呀
pottichu 2010-10-21
  • 打赏
  • 举报
回复
干嘛不写个脚本阿 ?
steptodream 2010-10-21
  • 打赏
  • 举报
回复
错了 mins没有s min才对!
这样

$cmd = "echo 'cd $path;php TWProdCat.php --generate >/tmp/a.txt &' | at now +2 min";
system($cmd, $retval);
steptodream 2010-10-21
  • 打赏
  • 举报
回复
既然是php 这样应该就可以把

$cmd = "echo '(cd $path ; php TWProdCat.php --generate >/tmp/a.txt &; )' | at now +2 mins";
system($cmd, $retval);

19,620

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧