标签: exec

设置 PHP(或 I_USER [我不确定这里...])连接到 iisweb.vbs 的权限

我一直在试图找出一种方法来管理我们的工作领域和轻松创建一个SimpleDNS类,但现在我在它的IIS服务器管理端,我只是失去了是怎么回事。

这是我正在运行以测试它的 PHP 代码。

<?php
$cmd = 'iisweb /create c:\websites\examplesite.com\www "Example Domain!" /d www.examplesite.com';

exec($cmd,$data);
print_r($data);
?>
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时,我得到:

Array ( [0] => Error &H80041003: Access denied
Run Code Online (Sandbox Code Playgroud)

我完全不知道如何为此设置权限。

这是好的部分!当我运行时,<?php exec('ping google.com',$data);?>:它可以无缝运行。

在设置 iisweb.vbs(iisweb vbs 文件)的权限时,我不知道从哪里开始。我什至不知道我是否应该为该文件设置权限。我不知道是否应该在控制台中设置 CGI 选项。我迷路了。

有人可以帮我吗?我在这是要干嘛?

php iis cmd exec

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

(Tcl/Expect) 退出后清屏

从我的(半)交互式期望脚本退出后,我想清除屏幕(在本地机器上)。我可以从脚本中做到这一点吗?这是我尝试过的,失败了。

#!/usr/bin/expect -f
set env(TERM) vt100
spawn ssh -Y username@domain
set user username
set pass password 
#login sequence
expect "password: "
send "${pass}\r"
sleep .5  
#some menu commands to enter ERP....
#...
#...
set CTRLZ \032
set CTRLC \003
set CTRLA \001
#don't time out
set timeout -1 
        interact {
                -reset $CTRLZ {exec kill -STOP [pid]}
                $CTRLA   {   
                        exp_send "menucmd...\ry\r"
                }   
                $CTRLC   {  

                        #clear the host machine screen???
                        exec clear
                        exit
                }
                ~~  
        } 
Run Code Online (Sandbox Code Playgroud)

在远程端,我不在 shell 中,而是在 ERP 程序中。如果有必要,我可以退出到 shell,然后在远程主机上执行“清除”操作,但我认为远程主机提示仍会出现在屏幕上。 …

automation interactive tcl exec expect

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

将 execv() 与 PATH 环境变量一起使用

我正在编写一个 shell,我想使用execv()并通过$PATH环境变量搜索正确的目录(是的,我知道我可以使用execvp()并将文件名传递给它)。

我正在考虑做的是从 中获取一个字符串getenv("PATH"),将其分解为单独的路径,然后尝试每个路径。但我想知道是否有更简单的方法来做到这一点?

我想问题是:如何execvp()搜索正确的路径?

谢谢!

c unix exec

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

使用 C 将 exec 进程发送到后台?

我的问题听起来与此相同,但事实并非如此:

在 Linux 中使用 C 在后台启动一个进程

我知道如何 fork() 但不知道如何将进程发送到后台。我的程序应该像一个支持管道和后台进程的简单命令 unix shell 一样工作。我可以做管道和叉,但我不知道如何&像程序的最后一行一样将进程发送到后台:

~>./a.out uname
SunOS
^C
my:~>./a.out uname &
Run Code Online (Sandbox Code Playgroud)

如何实现后台进程?

#include <sys/types.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>

#define TIMEOUT (20)

int main(int argc, char *argv[])
{
  pid_t pid;

  if(argc > 1 && strncmp(argv[1], "-help", strlen(argv[1])) == 0)
    {
      fprintf(stderr, "Usage: Prog [CommandLineArgs]\n\nRunSafe takes as arguments:\nthe program to be run (Prog) and its command line arguments (CommandLineArgs) (if any)\n\nRunSafe will execute Prog with its …
Run Code Online (Sandbox Code Playgroud)

c unix fork process exec

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

拆分 Unix 命令以与 exec 一起使用

我有一个程序,它从输入中获取命令,然后使用execl它来执行它(它必须是来自execvp家庭的函数)。现在,假设输入行是in,我可以简单地使用execl(allBeforeFirstSpaceFromIn, in);,还是必须in分成更小的字符串?如果是这样,我可以简单地将所有空格更改为\0吗?

c unix ansi exec

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

在 Go 中执行 exec 时,如何获得正在运行的命令的输出?

到目前为止,我已经看到了几种不同的方式,您可以通过这些方式轻松地在 go 中执行 shell 命令并生成它的输出。但是,在程序仍在运行时会输出大量命令,例如,git clone ...

如果git clone http://some.repo.git使用以下内容执行:

out, err := exec.Command("...").Output()

似乎没有任何输出,因为它显然正在运行。或者至少在我的经验中似乎是这样。是否有一种简单的方法或模式可以实现来显示正在运行的命令的实时输出?

command exec go

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

在bash中理解exec

在阅读了关于exec builtin如何在bash中工作的解释之后,我理解它的基本功能是在不分叉的情况下替换当前进程.它似乎也用于在当前进程中重定向I/O和关闭文件描述符,这让我感到困惑.这是一些无关的额外的事情exec吗?能否在"取代现有流程"的背景下理解?如果与流程替换相结合,它是如何工作的,例如exec 3< <(my program)?

linux bash exec io-redirection process-substitution

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

execv vs execvp,为什么只有其中之一需要确切的文件路径?

我在同一个目录中有两个文件。

directory/  
| a.c  
| b.c
Run Code Online (Sandbox Code Playgroud)

交流电

#include <stdio.h>                         
#include <string.h>                        
#include <sys/types.h>                     
#include <unistd.h>                        

int main(int argc, char *argv[])           
{                                          
   pid_t pid;                              
   int status;                             
   int wret;                               

   if ((pid = fork()) < 0)                 
      printf("error");                     
   else if(pid == 0)                       
   {                                       
      printf("%s", argv[1]);               
      execv(argv[1], &argv[1]);            
   }                                       
   else                                    
   {  
      /* respawn */                          
      if ((wret = wait(&status)) != -1)    
      execv(argv[1], &argv[1]);            
   }                                       

   return 0;                               
}       
Run Code Online (Sandbox Code Playgroud)

bc 只是一个打印“hello”的简单程序。

我想从命令行运行./a b以进行a程序调用exexXX以执行b程序。

我不明白为什么如果我使用execv我只能./a b在命令行中写,而不是如果我使用execvp …

c exec

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

什么时候需要execle而不是execl?

考虑这个简单的C程序

#include <stdlib.h>
#include <sys/wait.h>
#include <unistd.h>

int main()
{
    if (fork() == 0)
    {
        execl("script.sh", "script.sh", NULL);
        exit(EXIT_FAILURE);
    }
    int status;
    wait(&status);
    if (WIFEXITED(status) && WEXITSTATUS(status) == EXIT_SUCCESS)
    {
        return 0;
    }
    return -1;
}
Run Code Online (Sandbox Code Playgroud)

与script.sh存在

#!/bin/bash

case $DEBUG in
true)
    echo "Debug mode on"
    ;;
*)
    echo "Debug mode off"
    ;;
esac
Run Code Online (Sandbox Code Playgroud)

如果我编译C程序gcc -o foo main.c并调用它

DEBUG=true ./foo

然后是输出Debug mode on,所以脚本实际上得到了我传递给程序的环境变量foo,即使我没有使用execle.在哪种情况下,有必要使用execle(除了想要直接在源代码中指定环境变量)?我说的是人们做的事情

extern char **environ;
...
execle(path, …
Run Code Online (Sandbox Code Playgroud)

c exec environment-variables

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

我可以 fork 进程和 exec 内部函数吗?

我真的搜索过这个,我能找到的只是你可以 execvp() shell 命令。

我想知道我是否可以 fork 进程然后让它们运行程序内部的函数?(例如,我在代码中自己编写的一个函数)

c fork exec

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