2016-11-10 7 views
-1

私はいくつかの分間待機した後にコマンドを実行するスクリプトどのようにして、プロセス(スクリプト)がAndroidを一時停止(フリーズ)するのを防ぐことができますか?

#!/sbin/busybox sh 
while true; do 
sleep 3600; 
sync; 
sysctl -w vm.drop_caches=2; 
done; 

を持っていますが、このスクリプトは、すぐにAndroidデバイスがスリープ状態になると、いくつかの秒後に一時停止します。 デバイスが起動するたびに、スクリプトはカウントを続行します。 どうすればこのスクリプトを一時停止(フリーズ)することはできますか?私はまた、oomを殺さないために、 "oom_score_adj"に-1000を設定しました。 ありがとうございます

答えて

0

Android搭載端末がプログラムでスリープ状態にならないようにするにはどうすればよいですか? rootシェル(例えばADBシェル)から
、あなたがしてロックすることができます:あなたがやるまで、デバイスは、目を覚まし滞在する

echo mylockname >/sys/power/wake_lock 

た後:

echo mylockname >/sys/power/wake_unlock 

「mylocknameに同じ文字列で'

これで画面が黒くならないわけではありませんが、CPUがスリープ状態になることはありません。 /sys/power/wake_lockuserラジオ(1001)及びgroupシステム(1000)のためにread-writeであり、そして、もちろん、ルートこと

注意。

だから私はあなたのスクリプトは次のようになり推測:

#!/sbin/busybox sh 
echo mylockname >/sys/power/wake_lock; 
while true; do 
sleep 3600; 
sync; 
sysctl -w vm.drop_caches=2; 
done; 
echo mylockname >/sys/power/wake_unlock; 

reference
reference 1

+0

かっこいい、私はちょうどに私のスクリプト名 "スクリプト" またはscript.sh」を送信する必要がありthanks..so sysfs.right?他に同じ名前のプロセスがある場合は?PIDでこれを行うことはできますか? –

+0

'mylockname'は文字列であり、文字列であり、スクリプトにコードを入れて実行します。 。 –

+0

神はあなたを祝福し、正しい方法で私を導きます。 wake_lock sysfsに文字列を送信するソースを見てください。重要な部分は何かプロセスや何かをwake_lock sysfs.ifに送信したものです。他のものを見つけたら、ここでこれを修正します。これは正しいです。巨大な感謝の男 –

関連する問題