私は私が作ったフォーク爆弾の被害者ですが、ログアウトせずにこれを防ぐ方法がわかりません。 (ProcMonのようなツールは、新しく起動されたプロセスよりも先に進むには遅すぎます。)
将来のプロセスを「制御」状態に保つために、MSYS2(MinGW32)システムの最大ユーザープロセス数を256から50に減らしたいと思います。
上部に次のコマンドがあります.bashrc:
ulimit -S -c 0 # Don't want coredumps.
ulimit -S -u 50 # limit 50 processes
export FUNCNEST=44 # limit function recursion
次の端子出力を取得します。
++ ulimit -S -c 0
++ ulimit -S -u 50
bash: ulimit: max user processes: cannot modify limit: Invalid argument
++ export FUNCNEST=44
++ FUNCNEST=44
最初の項目に注意してください限界値コマンド(コアダンプサイズ)2番目は動作します。最大ユーザープロセス数失敗する。
私は管理者グループのメンバーです。私のシステムにSUまたはSUDOコマンドがなく、rootとしてログイン(または切り替え)する方法がわからないので、これが十分な権限であることを願っています。いいえ/etc/セキュリティ/システム全体の制限されたディレクトリです。 MSYS2 は Windows XP SP3 にインストールされます。
+ id User
uid=197614(User) gid=197121(None) groups=11(Authenticated Users),197121(None),197616(HelpLibraryUpdaters),544(Administrators),545(Users)
何が間違っているのか、または削除されるシェルの数を制限する方法を説明しますか?
それとも進行中のフォーク爆弾を止める方法をお勧めできますか?
これは何ですか?ulimit -a示す:
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
open files (-n) 256
pipe size (512 bytes, -p) 8
stack size (kbytes, -s) 2040
cpu time (seconds, -t) unlimited
max user processes (-u) 256
virtual memory (kbytes, -v) unlimited
これは何ですか?ulimit-Ha示す:
+ ulimit -Ha
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
open files (-n) 3200
pipe size (512 bytes, -p) 8
stack size (kbytes, -s) unlimited
cpu time (seconds, -t) unlimited
max user processes (-u) 256
virtual memory (kbytes, -v) unlimited
これは何ですか?ulimit-Sa示す:
+ ulimit -Sa
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
open files (-n) 256
pipe size (512 bytes, -p) 8
stack size (kbytes, -s) 2040
cpu time (seconds, -t) unlimited
max user processes (-u) 256
virtual memory (kbytes, -v) unlimited