Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
以下に示すように top コマンドを実行し、出力をファイルに保存したかったのです。
xyz.sh
#!/bin/sh while : do top -n 1 sleep 5 done
コードを実行すると、実行されて出力が正常に生成されます。
sh xyz.sh
しかし、バックグラウンドでコードを実行しようとすると、殺されます。
sh xyz.sh > xyz.log &
どうすれば最高の出力をキャプチャできますか?
cli コマンドは、top他のユーティリティで慣れているものとは異なる動作をします。これは、stdin からの読み取りと stdout への書き込みのような一般的なフィルターでは機能しないためです。代わりに、端末をエミュレートします。これは、標準出力に出力が書き込まれないため、出力を単純にリダイレクトできないことを意味します。
top
manページを確認してください(常に行う必要があります...)。-bその動作を変更するフラグに気付くでしょう。これにより、試したことを実行できます。
-b