時計にコマンドを再評価させる

時計にコマンドを再評価させる

こんにちは、次のようにwatchコマンドを実行するのに問題があります。

 watch cat /proc/$(ps ax | grep processname | grep -v grep | awk '{print $1}')/status

このコマンドは起動時に機能します。しかし、見ているプロセスを再起動しましたが、watchコマンドはまだ古いプロセスIDを使用します。プロセスIDを更新し、同じ名前の新しいプロセスのステータスを表示したいと思います。この部分は$(ps ax | grep processname | grep -v grep | awk '{print $1}')明らかに最初にのみ実行されます。時計が更新されるたびに出力をどのように再評価できますか?

catコマンドをbashスクリプトに入れ、watchでスクリプトを実行したくありません。

ベストアンサー1

これはきちんとしたアプローチではありませんが、実際にスクリプトを生成する意思がない場合です。あなたは試すことができますeval

 watch eval 'cat /proc/$(ps ax | grep processname | grep -v grep | awk '"'"'{print $1}'"'"')/status'

おすすめ記事