複数のコマンドを使用した出力リダイレクト

複数のコマンドを使用した出力リダイレクト

このコマンドの出力をリダイレクトしたいと思います。

ps -eo pid,comm,cmd,start,etime | grep -i qtcreator > file.txt

試したときにコマンドも出力しました。grep -i example

2018 qtcreator       qtcreator                   08:11:50    01:05:00 <br>
5513 grep            grep -i qtcreator           09:16:50       00:00

この問題をどのように解決できますか?

答え1

次のようにコマンドを編集すると、問題を解決できます。

ps -eo pid,comm,cmd,start,etime | grep -i qtcreator | grep -v grep > file.txt

これにより、最初のgrep結果からward grepを除外できます。

答え2

よりきれいな方法は、以下をpgrep使用することですps

ps -p $(pgrep <program-name>)


[iahmad@localhost]$ ps -p $(pgrep sendmail)
PID TTY      STAT   TIME COMMAND
32373 ?        Ss     0:59 sendmail: accepting connections
32383 ?        Ss     0:00 sendmail: Queue runner@01:00:00 for    /var/spool/clientmqueue

関連情報