プログラムのpidを1行ずつ取得します。

プログラムのpidを1行ずつ取得します。

次のコマンドを実行して、プログラムインスタンスのpidを見つけることができます。

pidof avconv

これは私に結果を与える

16616 16283 16279 16198 16175 16035 15073 14049 4922

しかし、次のように同じ結果を1行ずつ出力するにはどうすればよいですか?

16616 
16283 
16279 
16198 
16175 
16035 
15073 
14049 
4922

答え1

@Sobriqueの提案を使用して出力を解析するか、sed次を使用できますtr

pidof avconv | tr ' ' '\n'

別の方法は、次のものを使用することですpgrep

$ pgrep avconv16616 
16283 
16279 
16198 
16175 
16035 
15073 
14049 

答え2

このように始めてください。

ps -C avconv -o pid=

答え3

以下を使用して、いつでもsed改行文字を挿入できます。

pidof avconv | sed 's/ /\n/g'

おそらくより大きな質問は - なぜ別の行に配置する必要がありますか?たぶん、より適切な答えがあるかもしれません。

答え4

Linuxシステムを使用している場合は、オプションを使用して、スペースの代わりpidofに改行文字を区切り文字として使用するようにユーティリティに指示できます-d

pidof -d $'\n' /usr/sbin/apache2

関連情報