恐怖のFork爆弾 in Xサーバー with VSCode

サーバー周りの作業は危険がいっぱい☆

予告通りにフォーク爆弾(笑)の記事です、ハイ。
土日にお仕事が入ろうがお薬で筋肉痛だろうが書いちゃうのです。
他にも色々書きたいものがいっぱいですからね!

無知なのに 無茶するから…

事の発端

お勉強を兼ねているので、そうは言っても感はあるのですがね。だいぶ前にPythonでDiscordのBOTを作成したのですが、そいつの改変作業をしていた時、突然ヤツは発生しました。
瞬く間にプロセスを埋め、一切のSSH接続すら「させねーよ!?」なアイツ…そう、俗に言う「Fork爆弾」です。
起きてから「なんだこれ!なんだこれ!!」っつって調べて初めて知ったワードなのはヒミツ

一旦こいつが発生してしまうと、その後は日を置こうが何度アクセスしようが…
-bash: fork: retry: 子プロセスがありません
-bash: fork: retry: 子プロセスがありません
-bash: fork: retry: 子プロセスがありません
-bash: fork: retry: 子プロセスがありません
-bash: fork: retry: 子プロセスがありません
-bash: fork: retry: 子プロセスがありません
-bash: fork: retry: 子プロセスがありません
-bash: fork: retry: 子プロセスがありません
-bash: fork: retry: 子プロセスがありません
-bash: fork: retry: 子プロセスがありません
-bash: fork: retry: リソースが一時的に利用できません 
ヤッベええええ

ネット調べによれば、上位権限の別アカウントでログインして、悪さしているプロセスをガンガンkillしていくか、サーバー自体を再起動するしかないそうです。
発生させちゃったのはXサーバーなんですが(ほんとすんません!!)、お問い合わせで相談をしたところ、ものすごく丁寧にご対応いただけました……テュキ…一生ついていきます……(

同じ轍はふむまい

何度もご迷惑をかけるものでもありません、まずは原因究明です。
今までは全然Fork爆弾なんて起きなかったのですが、そういえばデバッガーを使用せず逐一プロセスIDを調べてはkillしていました。

いちいち調べんのめんどくせーな
killallなるものがあるのか…なぜかうまく使えない!!(無知ってこわい)
デバッガー…そうかデバッガーって使い方よくわからんかったけど再起動楽ちんにするための機能だったのか(絶対それだけではない)

みたいな経緯を経て、しかるべき設定もせずほいほいデバッガーの再起動を押しまくってトライアンドエラーを行っていたのが原因だったのかな?と思っています。
そうでなければ多分discord.pyの方でなんかアカン事した。generalに情報出したかっただけなのに

もしやこれでは…?

VS Code で Python をデバッグする

こちらの記事に記載されているコードの
"request": "launch",
"request": "attach",
に変えれば既に実行しているプロセスでやってくれるっぽい…?

初期設定では"configurations":は 空っぽ でしてよ奥さん…

ふははは、これで解決だと思ったか、ばかめ!

よくわからんけどちゃんと設定もしたし「これで解決かな?」と思ったら、「Failed to attach」というエラーが出てデバッガー起動ができなくなりました…

なので"request": "launch",に戻した後に再生と再起動を押していくと



なんか増えてない^p^??

えええ、どうなっとん…


ググっているとプロセスエクスプローラーなるVSCodeの機能を見つけましたが、それで見る限りはそんなにプロセスあるわけでもなさそう…

すまない、今の俺にはこれが限界のようだ…

なんかよくわからないですが、とりあえず理解が深まるまでは従来のプロセスID調べてkillで対処しようかと思います。
デバッガーは頭の悪いゼラチンには…オーバーテクノロジーだったようです…( ˘ω˘ )
プロセスエクスプローラー便利だな…もっと早く気づけてたらよかったな…

プロセスエクスプローラーはリアルタイムでプロセス監視してるっぽいので、まじでdiscord.pyのコード改変の仕方の問題な気がしてきましたが、そのうちデバッガー正常に扱える術を発見できたらこの記事に追記しようと思います…

言語違うんでプラグインも違うんすけど、なんかこちらの記事の「プロセスfork」っちゅう項目がヒントになりそう…今回エディタ落としても開発用BOT止まんなかったしな…

このブログの人気の投稿

LINE BOTでしゃべるイッヌ飼いはじめたよ!

ブログの更新場所を変えるお話

とあるアニメ背景会社の記憶