标签: exec

我可以在我的程序中定义的函数上使用execvp()吗?

由于我的程序组织方式,我有一个C++函数,我想用execvp()来调用它.

这可能吗?

c++ function exec

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

从PHP转换tiff文件到jpg

我正在尝试将tif文件的文件夹转换为jpeg,以便它们可以显示在我的网站上.我目前的方法不起作用.我写了一个perl脚本

#!/usr/bin/perl

opendir(DIR, $ARGV[0]);
@files = readdir(DIR);
closedir(DIR);

foreach $file (@files){
 if($file =~ /(.*?)\.tif/){
  print "converting $file\n";
  `convert -auto-level  -depth 12 -type grayscale $ARGV[0]$file $ARGV[1]$1.jpg`;
 }
}
Run Code Online (Sandbox Code Playgroud)

但是这永远不会进入for循环,因为opendir失败了.该文件夹确实存在.

我通过exec调用它("perl test.pl arg1 arg2"); 在PHP中

这是我应该这样做,因为它不起作用?

此外,我提供了几乎所有需要访问或写入chmod 777的内容

谢谢

php perl imagemagick exec

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

在execl中使用grep和文件描述符

我正在尝试执行以下操作:

 execl("/bin/grep","grep","print",fd,NULL);
Run Code Online (Sandbox Code Playgroud)

其中fd是文件描述符.所以基本上这应该是fd指向的文件中的"print".虽然我没有编译错误/警告但它似乎不起作用.当我给出一个文件名"Something.txt"而不是fd

有人可以告诉我为什么这不起作用?(我知道execl只需要,const char arg*但正如我所说的没有编译错误/警告).

c grep file-descriptor exec unistd.h

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

通过 Exec 在 C 中运行 Python 脚本?

我想以下列方式在 C 中运行一个 python 脚本:(我已经分叉了)

err = execlp("python", "my_script.py", "test", (char*) NULL);
Run Code Online (Sandbox Code Playgroud)

在bash中,我可以成功运行

python my_script.py test
Run Code Online (Sandbox Code Playgroud)

(测试是python脚本的参数)

但是,程序输出

my_script.py: can't open file 'test': [Errno 2] No such file or directory
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?:3

c python bash exec

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

使用exec执行命令并将进程ID传递给另一个命令

我希望您在Linux中执行命令并获取已启动进程的进程ID,并将其传递给另一个命令。

$!在bash中尝试了该变量,如果进程像这样直接启动,它将起作用:

ls &
echo $!
Run Code Online (Sandbox Code Playgroud)

但是,如果我这样使用exec:

exec ls &
echo $!
Run Code Online (Sandbox Code Playgroud)

$!变量将为空白。

我必须使用exec。有什么线索可以解决这个问题吗?

谢谢。

linux bash command-line process exec

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

Python3 exec,为什么返回None?

当这段文字下面的代码,并返回结果 None 为什么?

with open('exx.py', 'rb') as file:
ff = compile(file.read(), 'exx.py', 'exec')
snip_run = exec(ff, locals())
if 'result' in locals():
    print(snip_run, result)
else:
    print(snip_run)
Run Code Online (Sandbox Code Playgroud)

结果:

777777
None
Run Code Online (Sandbox Code Playgroud)

模块代码 exx.py:

print('777777')
Run Code Online (Sandbox Code Playgroud)

python return exec python-3.x

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

将 arg 传递给 subprocess.call

我有一系列脚本,它们被另一个脚本以明确的顺序调用run.py

里面run.py我有以下内容:

script1 = str(sys.path[0]) + "\\script1.py"
subprocess.call(["Python", script1])
Run Code Online (Sandbox Code Playgroud)

依此类推 3 个脚本。如果我想以这种格式向脚本 1 传递两个参数,例如脚本执行时要在脚本中使用的显式运行设置等参数,我该怎么做?我有一种感觉,它会依赖于 script1 中的 sys.argv,但是无论我传递什么索引位置,都会出现参数超出范围的错误。

谢谢!

python subprocess exec call sys

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

`find /someDir/* -exec rm {} \` 是什么意思?

我明白这个命令

  • 删除/some/directory/至少 4 天前的所有文件
  • 保持所有文件夹完好无损(给出错误cannot remove '.../someDir': Is a directory)。

有人可以解释-exec rm {} \;?

find /some/directory/* -mtime +4 -exec rm {} \;
Run Code Online (Sandbox Code Playgroud)

特别是,{}和的含义是 \;什么?是{} \;的参数-exec

unix bash shell exec find

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

exec 函数只运行一些命令,不会运行 echo

我正在尝试通过 exec 系列函数运行命令行参数(特别是 echo)。如果我编写自己的可执行文件并运行它,我可以运行 execv 函数,但是如果我尝试运行 touch 或 echo 它会返回 -1

#include <stdio.h>
#include <unistd.h> // exec functions
#include <sys/types.h> // pid_t
#include <sys/wait.h>

#define HIGH 1
#define LOW 0

int digitalWrite(int pin, short type) {

    pid_t pid = fork();
    if (pid == 0) {
        printf("pid == %i\n", pid);
        if (type == HIGH) {
            char* args[] = {"echo", "1", ">", "/sys/class/gpio/gpio67/value", NULL};
            int val = execv(args[0], args);
            printf("ran function execl, %i\n", val);
        } else {
            printf("Unable to do anything but …
Run Code Online (Sandbox Code Playgroud)

c exec echo

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

无法删除目录中的所有文件

我想删除volume目录下的所有文件。该目录位于 Kubernetes pod 内。所以我正在使用 exec 命令。

我的命令——

kubectl exec $POD -- rm -rf /usr/local/my-app/volume/*
Run Code Online (Sandbox Code Playgroud)

上面的命令不起作用。终端上没有上述命令的输出。我尝试使用以下命令并且它正在工作 -

kubectl exec $POD -- rm -rf /usr/local/my-app/volume
Run Code Online (Sandbox Code Playgroud)

但它会删除目录。我无法删除该目录,因为它用于安装目的。

我怎样才能实现上述功能?

谢谢

linux bash rm exec kubernetes

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