English 中文(简体)
PHP: Get the LINUX PID of a direct
原标题:PHP: Get the LINUX PID of a command

I m running a command in my linux server (Ubuntu). For example:

screen -A -h 1500 -m -dmS test_command_one /home/SKY-users/SKY-001/./script

这一背景进展由以下几个方面加以筛选:test_command_one<<>code>?

p. aux ́eprite test_command_one:

root      6573  8.1  2.4 271688 123804 pts/4   Ss+  Oct19   3:04 /home/SKY-users/SKY-001/./ ...

我愿回过来。

PHP: (asy)

<?php 
$output = shell_exec( sudo ps aux | grep test_command_one );
$array = explode("
", $output);
echo  <pre> .print_r($array, true). </pre> ;
?>

帮助!

最佳回答

Edit:

通过将“WagnerVaz”与代码合并

$mystring = "test_command_one";
exec("ps aux | grep  screen .* $mystring  | grep -v grep | awk  { print $2 }  | head -1", $out);
print "The PID is: " . $out[0];

Explanation

  • ps aux - shows processes for all users and hidden processes too
  • grep - filters only lines containing "screen" and then "test_command_one" in the same line
  • grep -v - removes from output the very same line which we are executing, because it will also be matched
  • awk { print $2 } - awk splits input into columns and uses multiple spaces as separator. This print contents of 2nd column
  • head -1 - limits output only to the first line. This is in case you have multiple screen running, only first ID is returned.
问题回答

为此:

<?php
    $mystring = "test_command_one";
    exec("ps aux | grep "${mystring}" | grep -v grep | awk  { print $2 }  | head -1", $out);
    print "The PID is: " . $out[0];
?>

Edited: With shell exec of @romaninsh

也可以尝试:

echo exec( pidof test_command_one );

时间缩短;

另见:pidof manpage

$pid = shell_exec($cmd . " && echo $!");

或者,公正使用:

$pid = getmypid();




相关问题
Signed executables under Linux

For security reasons, it is desirable to check the integrity of code before execution, avoiding tampered software by an attacker. So, my question is How to sign executable code and run only trusted ...

encoding of file shell script

How can I check the file encoding in a shell script? I need to know if a file is encoded in utf-8 or iso-8859-1. Thanks

How to write a Remote DataModule to run on a linux server?

i would like to know if there are any solution to do this. Does anyone? The big picture: I want to access data over the web, using my delphi thin clients. But i´would like to keep my server/service ...

How can I use exit codes to run shell scripts sequentially?

Since cruise control is full of bugs that have wasted my entire week, I have decided the existing shell scripts I have are simpler and thus better. Here is what I have so far svn update /var/www/...

Good, free, easy-to-use C graphics libraries? [closed]

I was wondering if there were any good free graphics libraries for C that are easy to use? It s for plotting 2d and 3d graphs and then saving to a file. It s on a Linux system and there s no gnuplot ...