标签: exec

在Linux上更快地分叉大型进程?

什么是现代的Linux实现的同样的效果最快,最好的方法fork- execve组合从一个大的过程

我的问题是,分叉过程大约为500MBy,并且一个简单的基准测试只能从该过程中获得大约50个分叉/秒(参见最小尺寸过程的~10000分叉/秒),这对于预期的应用来说太慢了.

一些谷歌搜索出现了,vfork因为它被发明为这个问题的解决方案......但也警告不要使用它.现代Linux似乎已经获得了相关cloneposix_spawn呼叫; 这些可能会有所帮助吗?什么是现代的替代品vfork

我在i7上使用64位Debian Lenny(如果posix_spawn有帮助,该项目可以转移到Squeeze ).

linux debian fork process exec

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

我不明白execlp()在Linux中是如何工作的

我花了最近两天试图理解execlp()系统调用,但是我在这里.让我直截了当地谈谈这个问题.

man pageexeclp的声明系统调用为int execlp(const char *file, const char *arg, ...);与描述:该为const char ARG和随后的椭圆在execl的(),execlp()和execle()函数可以被认为是为arg0,ARG1,...,ARGN.

然而,在我们的教科书中,我看到系统调用就像这样被调用:( execlp(“/bin/sh”, ..., “ls -l /bin/??”, ...);"......"是我们想象的学生).然而,这个系统调用甚至不像系统调用的声明man page.

我非常困惑.任何帮助表示赞赏.

c linux exec

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

信号处理程序是否有可能在"exec"之后存活?

我为进程写了一个信号处理程序,然后fork(),信号处理程序将应用于父进程和子进程.如果我用"exec"替换子进程,则信号处理程序不再存在.

我知道发生这种情况是因为"exec"调用将使用它自己覆盖子进程地址空间.我只是想知道即使在"exec"调用之后是否有办法让信号处理程序工作?

linux signals exec

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

如何检索PHP exec()错误响应?

下面是我尝试执行的命令,但没有成功:

exec('ln -s ' . PLUGIN_DIR . '/.htaccess ' . ABSPATH . '/.htaccess');
Run Code Online (Sandbox Code Playgroud)

当您在末尾添加die()时,它会捕获到错误:

exec('ln -s ' . PLUGIN_DIR . '/.htaccess ' . ABSPATH . '/.htaccess') or die('what?!');
Run Code Online (Sandbox Code Playgroud)

对于上面的exec()语句,权限问题导致错误,但PHP没有显示它.你如何从PHP显示出现了什么错误?

php shell exec

28
推荐指数
6
解决办法
5万
查看次数

python:在exec语句中获取打印输出

我有一点问题.这是我的代码:

code = """
i = [0,1,2]
for j in i :
    print j
"""
result = exec(code)
Run Code Online (Sandbox Code Playgroud)

我怎么能得到打印出来的东西?我怎样才能得到类似的东西:

0
1
2
Run Code Online (Sandbox Code Playgroud)

问候和感谢,

python printing exec

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

exec()更改程序映像后malloc的内存会发生什么?

我知道当我exec()在Linux中调用其中一个系统调用时,它将使用新映像替换当前正在运行的进程.因此,当我分叉一个新进程并运行时exec(),子进程将被替换为新进程.

我从堆中分配的内存会发生什么变化?假设我想解析任意数量的命令并将其发送到exec().为了保持这个任意数字,我可能不得不在某个时刻分配内存,因为我认为我不能正确使用静态大小的数组,所以我可能会使用malloc()或等效的东西.

我需要保持这个内存分配,直到我打电话exec(),但exec()永远不会返回.

内存是否被操作系统回收?

c c++ memory-management exec

28
推荐指数
2
解决办法
7484
查看次数

exec和execve等系统调用的exec系列的功能有什么区别?

我最近一直在关注系统编程课程,我通过系统调用exec()execve()来完成.到目前为止,我发现这两者之间没有任何区别,即使维基百科也没有给出明确的解释,所以exec()execve()之间有区别.

有人可以给出关于exec系列调用的简短描述,例如execl(), execv(), execle(), execvp().

c linux exec system-calls

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

是否可以在MySQL中执行字符串?

我必须转换传递varchar一个查询的MSSQL存储过程:

INSERT INTO Results
  EXEC (@Expresion);
Run Code Online (Sandbox Code Playgroud)

这不起作用.我敢肯定,EXECEXECUTE不是MySQL的命令,但CALL也不管用.

有谁知道甚至可能有类似JavaScript的evalMySQL函数吗?

mysql evaluation eval execute exec

27
推荐指数
3
解决办法
6万
查看次数

nodeJS exec不适用于"cd"shell cmd

var sys = require('sys'),
    exec = require('child_process').exec;

exec("cd /home/ubuntu/distro", function(err, stdout, stderr) {
        console.log("cd: " + err + " : "  + stdout);
        exec("pwd", function(err, stdout, stderr) {
            console.log("pwd: " + err + " : " + stdout);
            exec("git status", function(err, stdout, stderr) {
                console.log("git status returned " ); console.log(err);
            })
        })
    })
Run Code Online (Sandbox Code Playgroud)
cd: null :

pwd: null : /

git status returned 
{ [Error: Command failed: fatal: Not a git repository (or any of the parent directories): .git ] …
Run Code Online (Sandbox Code Playgroud)

javascript exec node.js express

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

没有exec()的PHP Untar-gz?

如何exec('tar')使用纯PHP 在不使用或任何其他命令的情况下解压缩php中的文件?

我的问题如下; 我有一个26mb tar.gz文件,需要上传到我的服务器并解压缩.我曾尝试使用net2ftp来提取它,但上传后它不支持tar.gz解压缩.

我正在使用免费的Web主机,因此他们不允许任何exec()命令,并且他们不允许访问提示.那么我该如何解决这个问题呢?

PHP有内置命令吗?

php exec tar

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