0
100%のCPUを使用している場合は、プロセスにgdbログを作成する必要があります。ここでgdbログファイルを作成する
私はbashで書かれた時点でしまった私のスクリプトです:
#!/bin/bash
ID=`top -n 1 | grep server | awk '{print $1}'`
CPU_PERCENT=`top -n 1 | grep server | awk '{print $9}'`
GDB_m = `gdb server $ID --cd /home/rox/rl`
echo "Checking CPU..."
if [ $CPU_PERCENT -eq 100 ]
then
echo "CPU 100%, running the script, for the process with ID: $ID"
while true
do
gdb server $ID --cd /home/private_user/servers
echo "bt full" >> $GDB_m
echo "exit" >> $GDB_m
echo "y" >> $GDB_m
echo "Sleeping for 60 seconds..."
sleep 60
done
else
echo "CPU $CPU_PERCENT %, its fine!"
sleep 1
fi
これは私が書いた、そしてそれは、ログか何かを保存していない、そこ$ID
との誤差がある、または何か、私はそれを実行しているとき、そのが言っているので:
/ホーム/ private_user /サーバー/サーバー/ 21337:そのようなファイルやディレクトリ はありません。
遅れて申し訳ありません。 – Cyclone
'gdb server $ ID --cd/home/private_user/servers'は手動で実行すると動作しますか?私は 'gdb server $ ID -cd/proc /'(ダブルの代わりにシングルハイフン)と思っていたでしょう。 – flesk