将bash命令的输出保存到if..else语句中的变量中

维克多

我有以下功能:

def check_process_running(pid_name):
    if subprocess.call(["pgrep", pid_name]):
        print pid_name + " is not running"
    else:
        print pid_name + " is running and has PID=" 

check_process_running(sys.argv[1])

如果我运行脚本,它将给我:

$ ./test.py firefox
22977
firefox is running and has PID=

我需要获得pid_num才能进一步处理该过程。我了解到,如果我想使用pid值为22977创建变量,则可以使用:

tempvar = subprocess.Popen(['pgrep', sys.argv[1]], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
pid_num = tempvar.stdout.read()
print pid_num
22977

是否有解决方案,不需要构造tempvar,是否将pid拾取并保存到if..else语句中的pid_num变量中,就像在函数中一样?还是最简单的方法来创建pid_num变量,而只需使用子进程一次调用shell并使该函数保持现在的简单性即可?

编辑:

使用波纹管解决方案,我能够重建该语句,使其保持简单,并让pid_num进一步处理该过程:

def check_process_running(pid_name):
    pid_num = subprocess.Popen(['pgrep', sys.argv[1]], stdout=subprocess.PIPE, stderr=subprocess.STDOUT).communicate()[0]
    if pid_num:    
        print pid_name + " is running and has PID=" + pid_num
    else:
        print pid_name + " is not running"
乔兰·比斯利(Joran Beasley)
pid_number = subprocess.Popen(['pgrep', sys.argv[1]], stdout=subprocess.PIPE, stderr=subprocess.STDOUT).communicate()[0]

可能是?也许更好

pid_number = subprocess.check_output(['pgrep', sys.argv[1]])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将命令的输出保存到变量

来自分类Dev

Bash:将ffmpeg输出保存到变量

来自分类Dev

将命令行输出保存到Fortran中的变量

来自分类Dev

将修改环境的命令输出保存到变量中

来自分类Dev

如何将函数的输出保存到bash中的变量

来自分类Dev

将命令输出保存到变量并检查退出状态

来自分类Dev

Posix Shell脚本-将多行命令输出保存到变量

来自分类Dev

将whos命令的输出保存到文件中

来自分类Dev

如何将slurm命令的输出保存到文件中?

来自分类Dev

如何将match语句的输出保存到变量中?

来自分类Dev

将power-shell命令输出到在if else语句中不起作用的变量

来自分类Dev

将“性能统计”输出保存到文件中,而不同时保存执行的命令的输出

来自分类Dev

将循环输出保存到变量中

来自分类Dev

将循环输出保存到变量中

来自分类Dev

将命令保存到变量并显示命令输出,而无需等待其完成

来自分类Dev

如何将命令(例如diff)的输出保存到变量中

来自分类Dev

如何将命令(例如diff)的输出保存到变量中

来自分类Dev

使用批处理文件将Ping命令输出保存到变量中

来自分类Dev

执行完命令后,是否可以将命令的输出保存到文件中?

来自分类Dev

执行完命令后,是否可以将命令的输出保存到文件中?

来自分类Dev

bash-无法将git clone的整个输出保存到变量中

来自分类Dev

bash-无法将git clone的整个输出保存到变量中

来自分类Dev

将命令字符串保存到bash变量中

来自分类Dev

将输出保存到变量中,实时查看输出

来自分类Dev

Python Fabric将输出保存到变量

来自分类Dev

打印外部命令的输出并保存到perl中的变量

来自分类Dev

python将shell命令的输出保存到文本文件中

来自分类Dev

将exec输出保存到文件中

来自分类Dev

将for循环输出保存到txt中

Related 相关文章

  1. 1

    将命令的输出保存到变量

  2. 2

    Bash:将ffmpeg输出保存到变量

  3. 3

    将命令行输出保存到Fortran中的变量

  4. 4

    将修改环境的命令输出保存到变量中

  5. 5

    如何将函数的输出保存到bash中的变量

  6. 6

    将命令输出保存到变量并检查退出状态

  7. 7

    Posix Shell脚本-将多行命令输出保存到变量

  8. 8

    将whos命令的输出保存到文件中

  9. 9

    如何将slurm命令的输出保存到文件中?

  10. 10

    如何将match语句的输出保存到变量中?

  11. 11

    将power-shell命令输出到在if else语句中不起作用的变量

  12. 12

    将“性能统计”输出保存到文件中,而不同时保存执行的命令的输出

  13. 13

    将循环输出保存到变量中

  14. 14

    将循环输出保存到变量中

  15. 15

    将命令保存到变量并显示命令输出,而无需等待其完成

  16. 16

    如何将命令(例如diff)的输出保存到变量中

  17. 17

    如何将命令(例如diff)的输出保存到变量中

  18. 18

    使用批处理文件将Ping命令输出保存到变量中

  19. 19

    执行完命令后,是否可以将命令的输出保存到文件中?

  20. 20

    执行完命令后,是否可以将命令的输出保存到文件中?

  21. 21

    bash-无法将git clone的整个输出保存到变量中

  22. 22

    bash-无法将git clone的整个输出保存到变量中

  23. 23

    将命令字符串保存到bash变量中

  24. 24

    将输出保存到变量中,实时查看输出

  25. 25

    Python Fabric将输出保存到变量

  26. 26

    打印外部命令的输出并保存到perl中的变量

  27. 27

    python将shell命令的输出保存到文本文件中

  28. 28

    将exec输出保存到文件中

  29. 29

    将for循环输出保存到txt中

热门标签

归档