php ssh echo$!显示的不是真实的pid
经过多次尝试后,我们未能获得pid编号 代码: 是显示另一个数字而不是实数pid 如果从bash中输入,工作正常,并显示pid。 我不明白哪里错了 从php中显示以下pid:php ssh echo$!显示的不是真实的pid,php,linux,bash,ssh,Php,Linux,Bash,Ssh,经过多次尝试后,我们未能获得pid编号 代码: 是显示另一个数字而不是实数pid 如果从bash中输入,工作正常,并显示pid。 我不明白哪里错了 从php中显示以下pid: #!/bin/bash echo "Current pid: $$" echo "Current process: $(ps -f $$)" ppid=$(ps -o ppid= -p $$) echo "Parent pid: $ppid" echo "Paren process: $(ps -f $ppid)" g
#!/bin/bash
echo "Current pid: $$"
echo "Current process: $(ps -f $$)"
ppid=$(ps -o ppid= -p $$)
echo "Parent pid: $ppid"
echo "Paren process: $(ps -f $ppid)"
gppid=$(ps -o ppid= -p $ppid)
echo "Grand Parent pid: $gppid"
echo "Grand Paren process: $(ps -f $gppid)"
(
[0] => 9397
)
实际pid为7452
编辑:
桌面访问web服务器(服务器1)并在服务器2 sopcast播放机内启动服务器1。服务器2是一个服务器1,用于在web服务器json中显示
编辑2:
pid number是从web服务器(而不是运行通过ssh发送的命令的服务器2)输出的ppid的编号。此时,不清楚您想要哪个pid。下面是我以前是怎么想出来的: 来自pids.sh
Current pid: 611
Current process: UID PID PPID C STIME TTY STAT TIME CMD
root 611 31197 0 06:41 pts/1 S+ 0:00 /bin/bash ./pids.sh
Parent pid: 31197
Paren process: UID PID PPID C STIME TTY STAT TIME CMD
root 31197 31195 0 04:55 pts/1 Ss 0:00 -bash
Grand Parent pid: 31195
Grand Paren process: UID PID PPID C STIME TTY STAT TIME CMD
root 31195 1216 0 04:55 ? Ss 0:00 sshd: root@pts/1
//pids.sh
另外,linux命令pstree也有帮助。目前,还不清楚您想要哪个pid。下面是我以前是怎么想出来的: 来自pids.sh
Current pid: 611
Current process: UID PID PPID C STIME TTY STAT TIME CMD
root 611 31197 0 06:41 pts/1 S+ 0:00 /bin/bash ./pids.sh
Parent pid: 31197
Paren process: UID PID PPID C STIME TTY STAT TIME CMD
root 31197 31195 0 04:55 pts/1 Ss 0:00 -bash
Grand Parent pid: 31195
Grand Paren process: UID PID PPID C STIME TTY STAT TIME CMD
root 31195 1216 0 04:55 ? Ss 0:00 sshd: root@pts/1
//pids.sh
另外,linux命令pstree也有帮助。您是否正确地转义$以便PHP不认为它是一个变量<代码>回声\$代码>在“真实”进程id和“非真实”进程id之间有什么区别?这里“真实”的真正含义是什么?请记住,ssh连接肯定会创建另一个shell环境,从而创建另一个进程。与php的
exec
命令相同。Brandon add this\is not change id pid notwork@arkascha如果不放这个“>/dev/null”是一个无限文本抱歉,但我不明白你最后的评论是想说什么…你是否正确地转义$以便PHP不认为它是一个变量<代码>回声\$代码>在“真实”进程id和“非真实”进程id之间有什么区别?这里“真实”的真正含义是什么?请记住,ssh连接肯定会创建另一个shell环境,从而创建另一个进程。与php的exec
命令相同。Brandon add this\is not change id pid notwork@arkascha如果不把这个“>/dev/null”显示为一个无限文本对不起,但我不明白你最后的评论是想说什么…没有帮助。应用程序1访问连接远程服务器2的web服务器(服务器1)并启动sopcast player。但是在服务器1的php中,服务器2的pid没有帮助。应用程序1访问连接远程服务器2的web服务器(服务器1)并启动sopcast player。但在php中,服务器1显示的是服务器2的pid
#!/bin/bash
echo "Current pid: $$"
echo "Current process: $(ps -f $$)"
ppid=$(ps -o ppid= -p $$)
echo "Parent pid: $ppid"
echo "Paren process: $(ps -f $ppid)"
gppid=$(ps -o ppid= -p $ppid)
echo "Grand Parent pid: $gppid"
echo "Grand Paren process: $(ps -f $gppid)"
Current pid: 611
Current process: UID PID PPID C STIME TTY STAT TIME CMD
root 611 31197 0 06:41 pts/1 S+ 0:00 /bin/bash ./pids.sh
Parent pid: 31197
Paren process: UID PID PPID C STIME TTY STAT TIME CMD
root 31197 31195 0 04:55 pts/1 Ss 0:00 -bash
Grand Parent pid: 31195
Grand Paren process: UID PID PPID C STIME TTY STAT TIME CMD
root 31195 1216 0 04:55 ? Ss 0:00 sshd: root@pts/1