标签: exec

沟通c程序和PHP

我想要一个显示输入值的网页(用PHP编写,因为它是我所知道的).我希望将该值传递给已经运行的ac程序.

我虽然使用套接字在两个进程之间进行通信,但我该如何设法做到这一点?如何使用fsockopen连接到本地套接字.

php c communication exec

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

jsch ChannelExec运行.sh脚本,nohup"丢失"一些命令

我有一个.sh脚本,它粘合了许多其他脚本,由Windows应用程序中的jsch ChannelExec调用.

Channel channel = session.openChannel("exec");

((ChannelExec) channel).setCommand("/foo/bar/foobar.sh");

channel.connect();
Run Code Online (Sandbox Code Playgroud)

如果我运行像"nohup /foo/bar/foobar.sh >> /path/to/foo.log&"这样的命令,那么所有长期工作(数据库操作,文件处理等)似乎都会丢失.

检查日志文件,只查找那些回声填充(长期操作之前和之后,计算运行时间等).

我检查了权限,$ PATH,将源/ etc/profile添加到我的.sh但这些都没有.

但是当我正常运行命令(同步运行,在Windows上将所有回显输出打印到我的java客户端)时,所有事情都顺利进行.

这是一个非常具体的问题.希望有经验的人可以帮助我.

预先感谢.

韩

ssh exec jsch nohup

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

php exec如何计算时间?

我正在尝试在php中为我的任务实现某种"多处理".任务是检查网络中每个设备的状态.

为此,我决定使用循环exec,它的工作原理.但我不知道它是否正常工作:

$command = "php scan_part.php $i > null &";
exec($command);
Run Code Online (Sandbox Code Playgroud)

这可以scan_part.php根据需要多次调用,但问题是:我如何计算所有scan_part.php执行所需的时间?

拜托,帮助我,我被困住了!

php exec

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

使用ActiveTcl 8.5在Windows 7中的tcl脚本中运行DOS命令或批处理文件

以下是tcl代码.

#!/bin/sh
# \
exec tclsh "$0"  ${1+"$@"}

package require Expect
package require log
source [file join [info library] init.tcl]

set exp::winnt_debug 1

log::lvChannel debug stdout
log::log debug "debug msg ON\r"

set env(TERM) dumb

array set OPTS {
host    ""
user    ""
passwd  ""
login   telnet
prompt  "(%|#|>|\\$) $"
ls      "/bin/ls -A1"
}

set xlpad "yahoo.com"

exec [auto_execok dir]

while {1} {
spawn ping  $xlpad
set loss 0
set replya 0
for { set pingc 0 } { $pingc < …
Run Code Online (Sandbox Code Playgroud)

windows dos tcl exec

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

Python 3.2.1:exec('x = y()')在玩具示例中设置一个值,但不在完整代码中设置

我正在使用exec()语句设置一个值,如下所示:

foo = 3
def return_4():
    return 4
instruction = 'foo = return_4()'
exec(instruction)                     # <---- WHERE THE MAGIC HAPPENS
print(foo)
Run Code Online (Sandbox Code Playgroud)

正如我所料,这是4.

我的程序有操作Rubik的立方体的操作.在这个精简版中,我会做四件事:

  1. 我将实例化一个立方体,填充一个面(缩写为"前左上"和"前右下"等).

  2. 我将有一个旋转前脸的功能.

  3. 我将有一个'解释器'函数,它接受一个多维数据集和一个指令列表,并将这些指令应用于多维数据集,返回修改后的多维数据集.这是我使用'exec'的地方(以及我认为破损发生的地方).

  4. 最后,我将在部分立方体上运行解释器,并指示旋转面部一次.

+

my_cube = [['FTL', 'FTM', 'FTR',
            'FML', 'FMM', 'FMR',
            'FBL', 'FBM', 'FBR'],
            [],[],[],[],[]] # other faces specified in actual code

def rotate_front(cube):
    front = cube[0]
    new_front = [front[6],front[3],front[0],
                 front[7],front[4],front[1],
                 front[8],front[5],front[2]]
    # ...
    ret_cube = cube
    ret_cube[0] = new_front
    # pdb says we are returning a correctly rotated cube,
    # and calling this directly …
Run Code Online (Sandbox Code Playgroud)

python exec rubiks-cube

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

在PDO中,我可以exec()一个字符串,但不是prepare()然后执行()它

如果我PDO::exec()是一个查询,它的工作原理.然而,当我尝试先PDO::prepare() 那么 PDO::execute(),它不工作.为什么?

例如,这可以按预期工作:

$db->exec($string);
Run Code Online (Sandbox Code Playgroud)

但是,这不是:

$stmt = $db->prepare($string);
$stmt->execute();
Run Code Online (Sandbox Code Playgroud)

没有抛出任何错误,并且$db->errorInfo显示全部为零,意味着成功.

这绝对是对我有意义的.

编辑上下文:

注意,newDB()这只是一个使用我需要的设置启动数据库的功能.

当我运行以下内容时,它按预期工作:

$db = newDB();

if (!$error) {
    if (isset($id)) {
        try {
            $db->exec('UPDATE Events SET Title = "WHY" , Date = "2012-11-01 00:00:00", Place = "no", Description = "no", UDate = now() WHERE Id = "12"');
        } catch(PDOException $e) {
            $error = 1;
        }
    }
}

$db = null;
Run Code Online (Sandbox Code Playgroud)

但是,这不是,我不知道为什么:

$db = newDB();

if …
Run Code Online (Sandbox Code Playgroud)

php pdo exec prepare

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

没有结果!!使用fork()使用dup2运行带有2个管道的execlp()

我正在编写一个C程序,它将运行Linux命令,如:
cat /etc/passwd | grep list | cut -c 1-5
我没有任何结果
*这里父母等待第一个孩子(child_pid)完成;
第一个孩子等第二个孩子(pfils)!!
任何的想法?
代码:

main()
{
    pid_t child_pid;
    int fd[2];
    int pfd[2];
    pipe(pfd);
    child_pid = fork ();

    if (child_pid != 0) 
    {
        wait(child_pid);
        close(pfd[1]);
        dup2(pfd[0],0);
        close(pfd[0]);
        execlp("cut","cut","-c","1-5",NULL);
    }
    else
    {
        pid_t pfils = fork();
        pipe(fd);

        if(pfils == 0)
        {
            close(fd[0]);
            dup2(fd[1],1);
            close(fd[1]);
            execlp("cat", "cat","/etc/passwd",NULL);
        }
        else
        {
            wait(pfils);
            close(fd[1]);
            dup2(fd[0],0);
            close(fd[0]);
            close(pfd[0]);
            dup2(pfd[1],1);
            close(pfd[1]);
            execlp("grep","grep","list",NULL);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c linux fork pipe exec

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

TSQL中exec的细微差别

这个存储过程

CREATE PROC GetPage(@blockNumber int, @blockSize int = 40, @query varchar(1000)) 
AS
   DECLARE @a int = @blockNumber * @blockSize;
   DECLARE @b int = @a + @blockSize - 1;
   DECLARE @fromPos int = PATINDEX('% FROM %', @query);
   DECLARE @from varchar(1000) = SUBSTRING(@query, @fromPos, 1000);
   DECLARE @select varchar(1000) = SUBSTRING(@query, 1, @fromPos);
   DECLARE @SQL varchar(1000) = 
      'select *, ROW_NUMBER() over (order by ONE) R INTO #FOO FROM ('
      +@SELECT+',1 ONE'+@from+') T';

   EXEC @SQL;

   SELECT * FROM FOO WHERE RN BETWEEN @a AND …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server stored-procedures exec

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

从php到exec()运行服务器端js

我有一个在Apache/PHP上运行的站点,并且作为性能问题,我编写了一个javascript来执行特定任务.

我在服务器上安装了node.js,以便运行这个javascript.当我从命令行调用脚本时,它工作正常.请参阅以下命令:

> node myscript.js
Run Code Online (Sandbox Code Playgroud)

但是我需要它从php页面运行,我试图通过调用exec()PHP函数来做到这一点,如下所示:

<?php exec('node myscript.js >/dev/null/ 2>&1 &'); ?>
Run Code Online (Sandbox Code Playgroud)

......但它不起作用.

难道我做错了什么?还有另一种方法可以做我想要的吗?

php server-side exec node.js

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

为什么我不能使用exec,shell_exec,system从PHP运行composer脚本?

我可以使用PHP exec或者运行任何二进制文件而不是composer.phar shell_exec.

在同一个文件夹中,我有作曲家和另一个具有相同权限的php可执行文件:

ls -lh
total 1,8M
-rwxr-xr-x  1 me me 1,8M août  22 20:48 composer.phar
-rwxr-xr-x  1 me me   39 août  22 21:05 test.php
Run Code Online (Sandbox Code Playgroud)

Test.php包含:

#!/usr/bin/env php
<?php
print 'hello';
Run Code Online (Sandbox Code Playgroud)

然后我有这个脚本:

<?php
print $cmd  = "composer.phar --version 2>&1" ;
print "<br>";

$return  = exec( $cmd );
var_dump($return);

print "<br><br>";

print $cmd  = "test.php 2>&1";
print "<br>";

$return  = shell_exec( $cmd );
var_dump($return);
Run Code Online (Sandbox Code Playgroud)

这是我得到的:

composer.phar --version 2>&1
[...]Process.php:81:string 'sh: 1: : Permission denied' (length=26)

test.php 2>&1
[...]Process.php:88:string …
Run Code Online (Sandbox Code Playgroud)

php exec composer-php

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