for i in {1...50000};
do
$(sudo lsof -Pni | cut -f 1 -d ' ' > fd_history/$(date +"%H-%M-%S"));
done
lsof の出力を、現在のタイムスタンプにちなんで名付けられたファイルにパイプすることになっています (各 lsof 出力行の最初のトークンのみ)。多くのファイルが開いているため、各 lsof の実行には数秒かかります。
ループは、lsof を継続的に実行する代わりに、最初の繰り返しの後に終了します。なんで?(ちなみに、この行をコンソールに直接入力しています。)