求shell中at的用法

fxs_2008 2010-10-21 11:42:13

PHP

原来是后台运行的

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


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

...全文
319 20 打赏 收藏 转发到动态 举报
写回复
用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);
linux shell编程 教程大全 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 chmod命令的其他例子 6 1.4.5 可以选择使用符号模式或绝对模式 7 1.5 目录 7 1.6 suid/guid 7 1.6.1 为什么要使用suid/guid 8 1.6.2 设置suid/guid的例子 8 1.7 chown和chgrp 9 1.7.1 chown举例 9 1.7.2 chgrp举例 9 1.7.3 找出你所属于的用户组 9 1.7.4 找出其他用户所属于的组 10 1.8 umask 10 1.8.1 如何计算umask值 10 1.8.2 常用的umask值 11 1.9 符号链接 12 1.9.1 使用软链接来保存文件的多个映像 12 1.9.2 符号链接举例 12 1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改时间查找文件 17 2.1.7 查找比某个文件新或旧的文件 17 2.1.8 使用type选项 17 2.1.9 使用size选项 18 2.1.10 使用depth选项 18 2.1.11 使用mount选项 18 2.1.12 使用cpio选项 18 2.1.13 使用exec或ok来执行shell命令 19 2.1.14 find命令的例子 20 2.2 xargs 20 2.3 小结 21 第3章 后台执行命令 22 3.1 cron和crontab 22 3.1.1 crontab的域 22 3.1.2 crontab条目举例 23 3.1.3 crontab命令选项 23 3.1.4 创建一个新的crontab文件 24 3.1.5 列出crontab文件 24 3.1.6 编辑crontab文件 24 3.1.7 删除crontab文件 25 3.1.8 恢复丢失的crontab文件 25 3.2 at命令 25 3.2.1 使用at命令提交命令或脚本 26 3.2.2 列出所提交的作业 27 3.2.3 清除一个作业 27 3.3 &命令 27 3.3.1 向后台提交命令 28 3.3.2 用ps命令查看进程 28 3.3.3 杀死后台进程 28 3.4 nohup命令 29 3.4.1 使用nohup命令提交作业 29 3.4.2 一次提交几个作业 29 3.5 小结 30 第4章 文件名置换 31 4.1 使用* 31 4.2 使用? 32 4.3 使用[...]和[!...] 32 4.4 小结 33 第5章 shell输入与输出 34 5.1 echo 34 5.2 read 35 5.3 cat 37 5.4 管道 38 5.5 tee 39 5.6 标准输入、输出和错误 40 5.6.1 标准输入 40 5.6.2 标准输出 40 5.6.3 标准错误 40 5.7 文件重定向 40 5.7.1 重定向标准输出 41 5.7.2 重定向标准输入 42 5.7.3 重定向标准错误 42 5.8 结合使用标准输出和标准错误 43 5.9 合并标准输出和标准错误 43 5.10 exec 44 5.11 使用文件描述符 44 5.12 小结 45 第6章 命令执行顺序 46 6.1 使用&& 46 6.2 使用|| 46 6.3 用()和{ }将命令结合在一起 47 6.4 小结 48 第二部分 文本过滤 第7章 正则表达式介绍 49 7.1 使用句点匹配单字符 50 7.2 在行首以^匹配字符串或字符序列 50 7.3 在行尾以$匹配字符串或字符 51 7.4 使用*匹配字符串的单字符或其重复 序列 51 7.5 使用\屏蔽一个特殊字符的含义 52 7.6 使用[]匹配一个范围或集合

19,611

社区成员

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

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