标签: exec

我如何在C中执行exec()后台进程?

我在进程上做了一个fork和exec(),但是我想在后台运行它.我怎样才能做到这一点?我可以避免在它上面调用waitpid,但是然后进程永远在那里,等待将它的状态返回给父进程.还有其他方法可以做到这一点吗?

c process exec

13
推荐指数
2
解决办法
2万
查看次数

让PHP运行Python脚本

我正在尝试使用PHP运行Python程序.这是代码

$command = '/usr/local/bin/python script.py file';
$temp = exec($command, $output);
Run Code Online (Sandbox Code Playgroud)

这可以通过命令行工作,但不能通过浏览器运行.我正在使用Apache,所以它可能需要正确的权限?我对Linux很陌生,不知道如何使用它.

任何帮助,将不胜感激!

编辑1:

试图使用proc_open但没有任何反应.我给出了脚本的完整路径.使脚本可执行但没有运气.我可以在服务器上尝试其他任何东西吗?(这是CentOS 5)

php python exec

13
推荐指数
2
解决办法
3万
查看次数

如何通过调用exec系列函数来获取程序的返回值?

我知道可以通过管道读取命令输出吗?但是获得回报价值呢?例如,我想执行:

execl("/bin/ping", "/bin/ping" , "-c", "1", "-t", "1", ip_addr, NULL);
Run Code Online (Sandbox Code Playgroud)

如何获取ping命令的返回值以查明它是返回0还是1?

c exec

13
推荐指数
2
解决办法
3万
查看次数

设置@var = exec stored_procedure

是否可以在变量中为exec存储过程返回一个值?

就像是

DECLARE @count int
SET @count = Execute dbo.usp_GetCount @Id=123
Run Code Online (Sandbox Code Playgroud)

exec sql-server-2008

13
推荐指数
3
解决办法
8万
查看次数

C:Exec/fork> Defunct进程

我想使用fork> exec过程创建许多子进程.许多过程都以非常快的速度结束(不到两分钟,有些甚至更早).

我的第一个问题是,我将生成的进程放入后台

./spawnbot > logging.txt
[CTRL+Z]
bg 1
disown
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.现在我不再看到任何spawnbot的消息,他们直接进入logging.txt.然而,每当创建一个新的孩子时,我再次在我的控制台中看到关于那个孩子的所有信息..我现在想要用它自己的管道启动每个孩子 - 是否有更好的方法让孩子们在他们的输出消息全部发布安慰?我应该将它重定向到/ dev/null还是用C中的一些标志完成?

其次,所有的孩子都没有真正被杀.我的ps -ef中有很多进程.我该怎么办?我该怎么做

c fork exec defunct

13
推荐指数
2
解决办法
1万
查看次数

PHP Exec SCP不会将文件复制到远程服务器

我需要一个使用PHP从服务器到另一个服务器(我拥有两个)的文件.我有以下脚本:

<?php

exec('scp /home/pat/file1.tst pat@myserver.com:/home/pat/file1.txt');
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Disallowed system call: SYS_pipe
Run Code Online (Sandbox Code Playgroud)

这个错误是什么?我该如何解决?

php scp exec

13
推荐指数
1
解决办法
6237
查看次数

unix fork exec序列真的和听起来一样昂贵吗?

我正在阅读forkexec考试,我的书说,无论何时需要在unix系统中运行一个新的(不同的)进程,你都会分叉当前进程,然后是execve.

但是,它还表示无论何时fork调用,父级的整个内存映像都将复制到新进程.

然后我的问题是:如果你的进程有一个非常大的内存映像,你只想运行一个新进程怎么办?如果您要立即替换它,从父进程复制所有数据不是浪费资源吗?

unix fork process exec

13
推荐指数
2
解决办法
2106
查看次数

理解bash"exec 1>&2"命令

我看到一个bash脚本exec 1>&2在一个函数中有命令.就像是:

function example()
{
    exec 1>&2
    cat <<EOT
Script requires at least one parameter.
EOT
    exit 1
} 
Run Code Online (Sandbox Code Playgroud)

据我所知,exec 1>&2意味着从这一点开始的一切都将被引导到stderr.这是某种形式的固定行为的高管需要知道的心脏或者是有这背后的一些很好的解释?我的意思是,据我所知,执行 Bash脚本只是调用一个命令采用与Bash脚本相同的PID,一旦命令完成,PID就会被终止.1>&2不是命令.有人可以解释命令背后的细节(尤其是问题原因)exec 1>&2吗?

bash exec

13
推荐指数
2
解决办法
2万
查看次数

child_process spawn()中的通配符?

我想在node.js中使用spawn执行像"doSomething ./myfiles/*.csv"这样的命令.我想使用spawn而不是exec,因为它是某种监视进程,我需要stdout输出.

我试过这个

var spawn = require('child_process').spawn; 
spawn("doSomething", ["./myfiles/*.csv"]);
Run Code Online (Sandbox Code Playgroud)

但是,通配符*.csv将不会被解释.

使用spawn()时是否无法使用通配符?还有其他可能解决这个问题吗?

谢谢

托本

exec spawn node.js

13
推荐指数
3
解决办法
2328
查看次数

捕获子进程的退出状态代码

我有一个函数,它分叉一个进程,复制输入和输出缓冲区的文件描述符,然后运行execl一个通过一个名为cmd:

static pid_t
c2b_popen4(const char* cmd, int pin[2], int pout[2], int perr[2], int flags)
{
    pid_t ret = fork();

    if (ret < 0) {
        fprintf(stderr, "fork() failed!\n");
        return ret;
    }
    else if (ret == 0) {
        /*                                                                                                                                                                                                                                                                                                                  
           Assign file descriptors to child pipes (not shown)...                                                                                                                                                                                                                                                                                               
        */
        execl("/bin/sh", "/bin/sh", "-c", cmd, NULL);
        fprintf(stderr, "execl() failed!\n");
        exit(EXIT_FAILURE);
    }
    else {
        /*                                                                                                                                                                                                                                                                                                                  
           Close parent read and write pipes (not shown)...                                                                                                                                                                                                                                                                                              
        */
        return ret;
    }
    return ret;
}
Run Code Online (Sandbox Code Playgroud)

cmd只要我的测试输入正确,每个实例都会正确处理我的数据. …

c fork pid exec

13
推荐指数
1
解决办法
3万
查看次数

标签 统计

exec ×10

c ×4

fork ×3

php ×2

process ×2

bash ×1

defunct ×1

node.js ×1

pid ×1

python ×1

scp ×1

spawn ×1

sql-server-2008 ×1

unix ×1