草庐IT

instance_exec

全部标签

linux - 使用 `exec 1>file` 后,如何停止将 STDOUT 重定向到文件并恢复 STDOUT 的正常操作?

我是shell脚本的新手,我使用的是Ubuntu-11.10。在使用exec1>file命令后的终端中,无论我向终端发出什么命令,其输出都不会显示在终端中。我知道STDOUT被重定向到文件,这些命令的输出被重定向到文件。我的问题在这里一旦我使用exec1>file,我该如何摆脱它?即如何停止STDOUT到文件的重定向并恢复STDOUT的正常操作(即重定向到终端而不是文件)?我尝试使用exec1>&-但它不起作用,因为这会关闭STDOUT文件描述符。请阐明exec1>file和exec1>&-的整个操作如果我们使用exec0>&-exec1>&-关闭标准文件描述符0、1、2会发生什么执行

c++ - exec 如何改变执行程序的行为

我正试图追踪一个非常奇怪的崩溃。奇怪的是有人发现了我无法解释的解决方法。解决方法是这个我称之为“runner”的小程序:#include#include#include#includeintmain(intargc,char*argv[]){if(argc==1){fprintf(stderr,"Usage:%sprog[args...]\n",argv[0]);return1;}execvp(argv[1],argv+1);fprintf(stderr,"execvfailed:%s\n",strerror(errno));//Ifexecreturnsbecausetheprogr

c++ - exec 如何改变执行程序的行为

我正试图追踪一个非常奇怪的崩溃。奇怪的是有人发现了我无法解释的解决方法。解决方法是这个我称之为“runner”的小程序:#include#include#include#includeintmain(intargc,char*argv[]){if(argc==1){fprintf(stderr,"Usage:%sprog[args...]\n",argv[0]);return1;}execvp(argv[1],argv+1);fprintf(stderr,"execvfailed:%s\n",strerror(errno));//Ifexecreturnsbecausetheprogr

php - exec() 和 phantomjs 问题与绝对路径

我正在使用phantomJS为了以编程方式截取网页的屏幕截图。我的网络服务器在Linux64位上运行。场景我的test.php文件exec('./phantomjs--version',$o,$e);print_r($o);echo$e;我在浏览器中打开test.php。我得到的输出是:1.9.1//versionnumber0//exitcode这证明我可以通过exec()运行命令,并且phantomJS运行良好。问题现在,当我将上面的代码替换为:exec('./phantomjshttp://mywebsite.com/test.js',$o,$e);print_r($o);ech

php - exec() 和 phantomjs 问题与绝对路径

我正在使用phantomJS为了以编程方式截取网页的屏幕截图。我的网络服务器在Linux64位上运行。场景我的test.php文件exec('./phantomjs--version',$o,$e);print_r($o);echo$e;我在浏览器中打开test.php。我得到的输出是:1.9.1//versionnumber0//exitcode这证明我可以通过exec()运行命令,并且phantomJS运行良好。问题现在,当我将上面的代码替换为:exec('./phantomjshttp://mywebsite.com/test.js',$o,$e);print_r($o);ech

php - 在 phing 中获取 spawned exec 的 pid

我正在使用phing并通过ExecTask运行selenium服务器。有时我需要通过终止其进程来停止运行服务器。phing中是否有可能获取在ExecTask中生成的进程的PID? 最佳答案 不,ExecTask不能直接给出派生进程的pid。它只能返回它的退出状态和输出。也许您可以修改在ExecTask中运行的命令以保存衍生进程的pid。您可以使用$!获取最近后台命令的pid。job1&//startjob1andruninbackground,endcommandwith&p1=$!//storesthepidecho$p1//gi

php - 在 phing 中获取 spawned exec 的 pid

我正在使用phing并通过ExecTask运行selenium服务器。有时我需要通过终止其进程来停止运行服务器。phing中是否有可能获取在ExecTask中生成的进程的PID? 最佳答案 不,ExecTask不能直接给出派生进程的pid。它只能返回它的退出状态和输出。也许您可以修改在ExecTask中运行的命令以保存衍生进程的pid。您可以使用$!获取最近后台命令的pid。job1&//startjob1andruninbackground,endcommandwith&p1=$!//storesthepidecho$p1//gi

php - 在没有 exec/passthru 的情况下从 PHP 中的目录构建 Tar 文件

所以我有一个客户,他的当前主机不允许我通过exec()/passthru()/ect使用tar,我需要定期以编程方式备份​​站点,所以有解决方案吗?这是一个linux服务器。 最佳答案 PHP5.3提供了一种更简单的方法来解决这个问题。看这里:http://www.php.net/manual/en/phardata.buildfromdirectory.phpbuildFromDirectory(dirname(__FILE__).'/project');?> 关于php-在没有exe

php - 在没有 exec/passthru 的情况下从 PHP 中的目录构建 Tar 文件

所以我有一个客户,他的当前主机不允许我通过exec()/passthru()/ect使用tar,我需要定期以编程方式备份​​站点,所以有解决方案吗?这是一个linux服务器。 最佳答案 PHP5.3提供了一种更简单的方法来解决这个问题。看这里:http://www.php.net/manual/en/phardata.buildfromdirectory.phpbuildFromDirectory(dirname(__FILE__).'/project');?> 关于php-在没有exe

c - 如何在GDB中调试fork-exec进程的入口点?

我有一个Clinux应用程序(A),它在启动时生成另一个进程(P)。当我想调试P时,我像往常一样启动A,然后使用ddd/gdb连接到P。当我想调试P的入口点(main的开始)时出现问题。如果我在将调试器连接到P时遵循通常的方法,已经太晚了。我找到的解决方案是在P的主体开始时插休眠眠,这样我就有时间连接gdb,但这不是一个非常优雅的解决方案。我也尝试过使用asm("int$3")但它似乎不起作用。你知道我该如何解决这个问题吗?(最好不改变A或P的代码) 最佳答案 你应该使用这个选项:setfollow-fork-modemodeWhe