Articles of 执行

PHP exec()不能正常工作

我有PHP的exec()函数的困难。 它似乎不是要调用某些function。 例如,代码echo exec('ls'); 不产生任何输出(它应该,目录中有文件)。 这是我的一个问题,主要原因是我试图执行一个PHP的exec()调用.jar。 据我所知我正在调用Java程序,但我没有得到任何的输出。 .jar可以从服务器上的命令行执行。 (为了logging,这是一个Apache服务器)。 我的php的.jar执行如下所示: $output = array(); exec('java -jar testJava.jar', $output); print_r($output); 我所得到的这个exec()调用的输出是Array() 。 exec()执行'whoami'和'pwd'已经成功了。 我不明白为什么有些function正在工作,有些则不是。 我也不是PHP中最有经验的人,所以我不太确定如何诊断问题。 任何和所有的帮助,将不胜感激。

如何用exec PHPclosuresUbuntu

我真的需要用PHP execclosuresubuntu。 但我可能有一些权限问题。 echo exec('whoami') 返回“无人”; 所以我把控制台 adduser nobody admin 并尝试 exec("shutdown -h now"); 但它不工作;(

Bash脚本不能在Cron中正确执行

所以,我有一个bash脚本,应该在每小时一小时的时间将ifconfig的输出传递给一个文本文件。 正如很多人似乎遇到过的,这个脚本在被cron使用时不能正常工作。 不过,我所看到的大部分修正似乎并不适用于我的情况。 我明确指出所有的path,脚本具有执行权限,并在cron文件的末尾有一个换行符。 创造性地,我的脚本ip.sh包含: ifconfig > /home/drake/Dropbox/maintenance_scripts/ip.txt cron条目是: 0 * * * * /home/drake/Dropbox/maintenance_scripts/ip.sh (我每分钟都在运行debugging) 这里的BIG问题在运行时会运行,它会清除它可能具有的任何内容的ip.txt。 另外,我还有另外一个脚本,它和正常运行时间一样,没有任何问题,只是混淆了。 我也试过了>>,这似乎产生了相同的结果 所以,有没有人有任何想法,为什么一个脚本可能按预期发挥作用,而另一个脚本就会这样消失? 这是在我的Ubuntu服务器上运行。 我正在使用Dropbox同步文本文件

在Linux上创buildPHP在线评分系统:exec行为,进程ID和grep

背景 我正在使用PHP和MySQL编写一个简单的在线评判(代码评分系统)。 它采用C ++和Java提交的代码,编译并testing它们。 这是在旧版本的Ubuntu上运行PHP 5.2的Apache。 我现在在做什么 我有一个无限循环的PHP程序,调用另一个PHP程序 //for(infinity) exec("php -f grade.php"); //… 每十分之一秒 我们称第一个looper.php和第二个grade.php 。 (检查点:在“for”循环继续之前, grade.php应该完全运行,对吗?) grade.php从MySQL数据库中提取最早提交的需要分级的代码,将该代码放在一个文件( test.[cpp/java] )中,并连续调用2个其他php程序,名为compile.php和test.php ,如下所示: //… exec("php -f compile.php"); //… //for([all tests]) exec("php -f test.php"); //… (检查点: compile.php应该在“for”循环调用test.php开始前正确完成运行) compile.php然后编译test.[cpp/java]程序test.[cpp/java] 作为后台进程 。 现在,我们假设它正在编译一个Java程序,并且test.java位于一个子目录中。 我现在有 //… //$dir = "./sub/" or some other subdirectory; this may be an absolute path $start_time […]

对文件夹中的所有文件执行命令的脚本

我是Freebsd / nginx的新手,所以类似的QA没有帮助我;(我正在运行一个代码: $ext = pathinfo ($_FILES['rawexcel']['name'][$i], PATHINFO_EXTENSION); //get extension of file, run different converters depending on extension if ($ext == 'xlsx' ) { exec("/usr/local/bin/cnvt /var/tmp/xls/result.xlsx /var/tmp/result.csv "); } else if ($ext == 'xls' ) { exec("/usr/local/bin/xls2csv -x /var/tmp/xls/result.xls* -b WINDOWS-1251 -c /var/tmp/result.csv -a UTF-8"); } /var/tmp/xls/ 当我的文件名是常量(result.xls然后转换为result.csv)&我正在处理文件一个接一个; cnvt和xls2csv是转换器。 现在我有一个AJAX上传,并希望执行一个文件夹中的所有文件执行命令,保持原来的文件名。 我试图运行相同的代码与result.xls *(星)代替,但没有奏效。 我拥有的: 文件夹tmp / […]

用php运行一个外部程序

我有一个问题与PHP! 我想用php运行一个外部程序。 这个程序在命令行和linux平台下工作。 所以一定要好好工作 但我尝试更多的时间,我不能运行它。 所以怎么了! 这是程序的链接: http : //www.lalescu.ro/liviu/fet/这是在命令行中工作正常,而不是在php的情况下的命令: ./fet –inputfile=Hopwood.fet –outputdir=out 这是PHP代码: <?php `./fet –inputfile=Hopwood.fet –outputdir=out` ?> 我希望能解决这个问题。 提前致谢 .. 更新我上传的可执行程序和Hopwood.fet文件为您尝试..这是一个链接: http ://rapidshare.com/files/454756427/fet.tar.gz

在Perl中运行Shell命令

我可以在Perl中运行一些Shell Linux命令(例如创build一个文件夹)。 但是我不能执行下面的命令: echo 'mypassword' | gpg –passphrase-fd 0 –output outfile –decrypt inputfile 我在.sh文件中添加这个命令,并且可以在Shell中执行。 但是当我调用.sh文件时,Perl无法运行它。 我用open3 , system , open命令来运行。 我可以运行其他.sh文件,但不能用于这个命令。 你能帮我吗?

PHP exec命令不能与包含variables的terminal命令一起使用

我正在使用下面的PHP代码。 $i = "1TEN"; $val=exec('cat '$i'.dssp -n | grep " ACC " | grep "[0-9]\+" -o | head -n 1'); echo $val; 它不会给出任何错误或任何输出。 但是,下面的代码运行良好: $val=exec('cat 1TEN.dssp -n | grep " ACC " | grep "[0-9]\+" -o | head -n 1'); echo $val; 谁能帮忙? 同样的, $line=exec("tail $i.dssp -n $diff | awk -F" " -v var=$pos '{if […]

在bash脚本中执行命令,直到输出超过一定值

我使用了一个命令来parsing某些帧的video文件并返回它们的时间码。 此刻,我必须执行命令,等待,直到打印到stdout的值到达所需位置,然后使用Ctrl + C中止执行。 因为我必须观察这个过程,并在适当的时候中止执行以获得所需的信息,所以我想,通过创build一个bash脚本,我可以在一定程度上自动化这个过程。 我不确定,如果可以在bash中完成,因为我不完全知道如何中止与写入到stdout的值有关的执行。 该命令的输出如下所示 0.040000 5.040000 10.040000 15.040000 18.060000 (…) 我试过了 until [[ "$timecode" -gt 30 ]]; do timecode=$(mycommand) sleep 0.1 done echo "Result: $timecode" 要么 while [[ "$timecode" -le 30 ]]; do timecode=$(mycommand) sleep 0.1 done echo "Result: $timecode" 这两者似乎都会导致命令被执行,直到完成,然后处理循环的其余部分。 但是我想要在命令执行时评估输出,并根据输出中断执行。 附加信息 该命令没有能力在stream中的某个点停止。 它parsing整个文件,并给出结果,除非发信号停止。 这是我的第一枪。 该命令的执行时间非常长,因为我parsing的文件是〜2GB。 由于我不需要文件的所有框架,但是只有一些给定的时间码,所以我从不让它执行,直到完成。 该命令的输出因文件而异,所以我无法查找确切的值。 如果我知道确切的价值,我可能不需要去寻找它。 目标时间码 – […]

分叉和执行许多不同的过程,并从每一个获得结果

我设法从我的应用程序中分叉和执行一个不同的程序。 我目前正在研究如何等待从exec调用的进程通过pipe道或标准输出返回结果。 但是,我可以使用单个分支还是一组进程,还是必须多次分叉并再次调用相同的程序? 我可以为每个不同的过程获得PID吗? 我希望我的应用程序调用我目前多次调用的同一个程序,但使用不同的参数:我想要一组同一程序的8个进程运行,并通过pipe道返回结果。 请有人指点我正确的方向吗? 我已经浏览了linux.die手册页,但是它们在描述中相当简陋而且含糊不清。 有没有电子书或pdf我可以find详细信息? 谢谢! pid_t pID = fork(); if (pID == 0){ int proc = execl(BOLDAGENT,BOLDAGENT,"-u","2","-c","walkevo.xml",NULL); std::cout << strerror(errno) << std::endl; } 例如,我怎样才能通过PID控制哪个子(根据参数xml文件)得到了哪个结果(通过pipe或者stdout),并据此采取行动? 我是否必须将subprocess封装在一个对象中,并从那里开始工作,还是可以将它们完全分组?