f********o 发帖数: 1163 | 1 我要qsub一个job到cluster去run,
qsub的是一个python code
在python code里调用了shell命令,os.popen('command1 >& output1; ps').
readlines()
然后我发现,虽然command1已经在运行了,得到的结果里依然没有command1,也就是说
ps没有探测到这个shell命令。
但返回的结果却有这个python的文件名。比方说temp.py
有人知道怎么破吗?有没有办法能在这个python里查看现在已经调用了几个类似于
command1的命令?
PS. 只要不qsub,这个python就可以运行。ps可以探测到command1. |
|
B********s 发帖数: 3610 | 2 正在试着实现一般简单的linux shell,目前正在处理I/O redirection和pipeline,基本
的想法是,比如这样一个命令行: command1|command2|command3, 由shell fork一个子
进程,使用exec函数调用'command1'命令,然后command1进程再fork一个子进程来调用
command2,同时建立一个pipe用于command1和command2的通信, ...... 这样就形成了
一个链状的进程体系,主进程(shell)是祖先,并且通过 waitpid(pid, NULL, 0)函数
等待其他进程结束然后继续(pid是第一次fork的返回值)。现在的问题是,各个
command的执行顺序比较混乱,比如执行 ls|sort,输出的结果是正确的,但是主进程在
结果显示之前就已经继续运行把命令行提示符显示出来了。还有,如果执行ls|sort;
who ,则who的结果会先显示出来,和执行who;ls|sort的结果一样。
请大牛帮我找找原因吧,说得比较乱,还请见谅。 |
|
w***g 发帖数: 5958 | 3 command1 >& output; ps
应该是command1结束并且成功后再运行ps,所以ps结果里不含command1很正常。
和qsub没有关系。 |
|
|
c********e 发帖数: 42175 | 5 应该是调试成功了。可以间歇地把test几个字弄上来。
见图,点command1 就乱跳。。。。把test改了改。。
应该如何改进。。。。目前就只能不规律的输入test |
|
p****u 发帖数: 2422 | 6 from Advanced Bash-Scripting Guide:
http://www.tldp.org/LDP/abs/html/io-redirection.html
Chapter 20. I/O Redirection
Table of Contents
20.1. Using exec
20.2. Redirecting Code Blocks
20.3. Applications
There are always three default files [1] open, stdin (the keyboard), stdout
(the screen), and stderr (error messages output to the screen). These, and a
ny other open files, can be redirected. Redirection simply means capturing o
utput from a file, command, program, script, or even code block withi... 阅读全帖 |
|
i******e 发帖数: 171 | 7 我想在规定时间比如13:00或1 hour以后运行一个命令:
command1 $ARGV[0] $ARGV[1] ...
man了at, cron, crontab, 不知所云......:( 那位大侠能给个简单的例子让我能照
猫画虎. 多谢了.
另外, 这个时间的表达格式能在网上哪儿可以看到介绍? 多谢! |
|
A**s 发帖数: 8 | 8 If you just want to run the command once, you can use "at", e.g.
$ at 1300
at> command1 $ARGV[0] $ARGV[1] ...
at> ^D
If you want to run it many times (e.g. every day), you can use crontab. The
syntax is a little complicated, but you can look at
http://en.wikipedia.org/wiki/Crontab |
|
s*******d 发帖数: 59 | 9 why not use rsh?
rsh node1 command1&
rsh node2 command2&
simpler, write a loop to create and execute these lines. |
|