标签: exec

Exec现实世界的例子

我正在寻找一个真实世界的场景,其中使用exec将是唯一可用的选项(如果不使用exec则问题无法解决)

我知道什么是exec以及它与fork有什么不同,但仍然对强制使用exec命令的现实问题感兴趣.

unix exec

0
推荐指数
1
解决办法
897
查看次数

如何使用exec PHP关闭Ubuntu

我真的需要用PHP exec关闭ubuntu.但我可能在获得许可时遇到了一些问题.

echo exec('whoami')
Run Code Online (Sandbox Code Playgroud)

返回'没人';

所以我放入了控制台

adduser nobody admin
Run Code Online (Sandbox Code Playgroud)

并尝试过

exec("shutdown -h now");
Run Code Online (Sandbox Code Playgroud)

但它不起作用;(

php ubuntu exec

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

像exec()之类的东西在Perl中返回一个值?

我的印象(可能是错误的)Perl中的'exec'函数没有返回值(我得到它只是运行命令的印象).情况是Perl脚本在服务器上运行,我需要调用此脚本在Linux机器内运行命令,但也返回结果.如何才能做到这一点?

linux perl exec

0
推荐指数
1
解决办法
3096
查看次数

语言C - 获取流程所有者

我必须使用EXEC系列来查找所拥有的进程(用户)并将其写入文件中.

码:

sprintf(buffer, "%d", getpid());

if ((pid = fork()) == -1)
        exit(EXIT_FAILURE);
      else if (pid == 0)
        {
          dup2(fd,STDOUT_FILENO);
          dup2(fd,STDERR_FILENO);

          // function that Write in the file
          fdprintf(fd, "\n%s %s%d secondes %s\n", adornment, toShow, sec, adornment);

          if (execlp("ps", "u", buffer, NULL) == -1)
            show_err("Exelp Error\n");
        }                                                                                                                                                                                                        
      else
        {
          wait(NULL);
          fdprintf(fd, "%s %s%d secondes %s\n", adornment, toShow, sec, adornment);
          close(fd);
        }
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏!谢谢

c fork process exec

0
推荐指数
1
解决办法
1789
查看次数

Java exec linux命令

可能重复:
如何使管道与Runtime.exec()一起使用?

您好我使用exec命令编写了简单的java函数.此函数检查系统(linux)中是否存在该字体.首先我写了简单的bash命令:identify -list font | grep -i 'Font: Times-Bold' -w它的工作完美,所以我创建了简单的程序:

public abstract class SystemReader{

    public static final void checkFontExist(String name){
            String command = "identify -list font | grep -i -w \'Font: "  + name + "\'";
            Process p  =Runtime.getRuntime().exec(command);

            String lines = "";
            String resoults ="";
            BufferedReader bufferedReader = new BufferedReader(new      InputStreamReader(p.getInputStream()));
            while((line  buferedReader.readLine())!=null){
                    resoult += line + "\n";
            }

            System.out.println("RESPONSE: " + resoult);
            bufferreader.close();
    }
Run Code Online (Sandbox Code Playgroud)

}

它的工作但不是我的意思.此函数返回我系统中存在的所有字体.它似乎命令grep不是exec?

我尝试使用另一个版本的命令exec()我创建:

String command = {"identify -list font", "grep -i …
Run Code Online (Sandbox Code Playgroud)

linux process exec

0
推荐指数
1
解决办法
5361
查看次数

fork()之后,child没有执行

int status=0;
int PID = fork();
if(PID == 0)
{
   char *path = strcat(pathToken,strcat("/",command));
   printf("path: %s\n",path);
   execl(path,command,"-l",NULL);
}
else if(PID>0)
{
   printf("pid: %d. ",PID);
   printf("I'm parent process\n");
   wait(&status);
}
Run Code Online (Sandbox Code Playgroud)

输出:

pid: 20027. I'm parent process
Run Code Online (Sandbox Code Playgroud)

为什么不进入if(PID==0)

c linux fork runtime-error exec

0
推荐指数
1
解决办法
624
查看次数

2>&1在这个php片段中做了什么?

关于这段代码

public function invoke($url)
{
    exec('wget 2>&1', $output);
    print_r($output);
}
Run Code Online (Sandbox Code Playgroud)

什么是2>&1这个命令吗?我在SO上发现了这个,但2>&1没有解释

wget是一个linux命令,我正在使用PHP运行它exec().

上面的代码有效.我只需要$url在正确的位置插入并理解2>&1.

相关链接

关于Wget的GNU文档

php linux exec

0
推荐指数
1
解决办法
251
查看次数

如何获得QDialog :: show()的结果?

我想将exec用法转换为show项目中的方法。因为,当我使用execfor窗口(对话框)时,无法打开另一个窗口。这是exec()show()方法之间的基本区别。

execshow以不同的方式,我想知道我怎么可以使用更改下面的代码工作show(),而不是exec()

例如:

int result = exampleWindow->exec();

if ( result == QDialogButtonBox::Ok )
{
    exampleWindow->UpdateCalibrationData(&data);
    exampleWindow->UpdateFilterData(&filterData);
    exampleWindow();
}
Run Code Online (Sandbox Code Playgroud)

qt exec show

0
推荐指数
1
解决办法
1453
查看次数

exec()混乱,更像是替换或子程序?

在以下链接中,以及许多其他类似链接,exec通常被描述为:

fork和exec之间的区别

exec调用是一种基本上用新程序替换整个当前进程的方法.它将程序加载到当前进程空间并从入口点运行它.

它真的取代了整个程序吗?它不仅仅是执行一个恰好体现main()所选程序的子程序/函数调用吗? - 在返回自己的背景和操作之前?

所以不是更恰当的描述,只是一个体现的子程序main()?(例如,将所选择的流程代码纳入当前的流程中?与完全"替换它"相反?

# original taken from the provided link
+--------+
| pid=7  |
| ppid=4 |
| bash   |
+--------+
    |
    | calls fork
    V
+--------+             +--------+
| pid=7  |    forks    | pid=22 |
| ppid=4 | ----------> | ppid=7 |
| bash   |             | bash   |
+--------+             +--------+
    |                      |
    | waits for pid 22     | calls exec to run ls
    |                      V
    |                  +--------+
    |                  | pid=22 |
    | …
Run Code Online (Sandbox Code Playgroud)

fork exec

0
推荐指数
1
解决办法
63
查看次数

去exec.Command() - 运行包含管道的命令

以下工作并打印命令输出:

out, err := exec.Command("ps", "cax").Output()
Run Code Online (Sandbox Code Playgroud)

但是这个失败了(退出状态为1):

out, err := exec.Command("ps", "cax | grep myapp").Output()
Run Code Online (Sandbox Code Playgroud)

有什么建议?

pipe exec go

0
推荐指数
2
解决办法
2718
查看次数

标签 统计

exec ×10

linux ×4

fork ×3

c ×2

php ×2

process ×2

go ×1

perl ×1

pipe ×1

qt ×1

runtime-error ×1

show ×1

ubuntu ×1

unix ×1