Você pode usar o módulo subprocess
:
#!/usr/bin/env python2
import subprocess
command_1 = 'ps -eo pid,ppid,user,rss,comm --sort=rss'.split()
command_2 = 'tail -10'.split()
first = subprocess.Popen(command_1, stdout=subprocess.PIPE)
subprocess.call(command_2, stdin=first.stdout)
-
command_1
é o comando à esquerda do canal, dividido em espaços para criar uma lista que é exigida porsubprocess.Popen
class -
command_2
é o comando à esquerda da divisão de tubulação de maneira semelhante acommand_1
-
first
é um objeto da classesubprocess.Popen
,subprocess.Popen
executa ocommand_1
e envia seu STDOUT paraPIPE
para que possamos usá-lo como uma entrada paracommand_2
-
subprocess.call
executará ocommand_2
com seu STDIN vindo do STDOUT defirst
Para o comando ps -C kswapd0 -C kswapd1 -C kswapd2 -C kswapd3 -C kswapd4 -o pid,ppid,stime,etime,time,pcpu,args
, você pode fazer:
#!/usr/bin/env python2
import subprocess
command = 'ps -C kswapd0 -C kswapd1 -C kswapd2 -C kswapd3 -C kswapd4 -o pid,ppid,stime,etime,time,pcpu,args'.split()
subprocess.call(command)
Leia a documentação oficial sobre o subprocesso para obter mais ideias.