れさくのブログ

れさくのブログ

*

TJCT!プロセスの暗殺教室

   

laravel
ブラウザ上で巨大なデータを扱ったら、応答が返ってこない・・・・
ブラウザを閉じたけど、その他のページも一切開かなくなりました。
裏側で巨大データを抱えたまま動けなくなってるに違いない。
なのでサーバを落としましょう。

あ、環境はMBAのローカルに構築したLaravelです。
Macに最初から入ってるPHPのビルドインサーバなので、Apacheとかじゃないです。

シェルでartisanなサーバを止めるには、普通に終了コマンド
cntrol+c

です。
レッツドン。
シェル「^C」・・・バッタリ
はい終了。
じゃあ改めてサーバ起動しましょう。
パルチザンですパルチザン。

php artisan serve

はい、起動しました。
さあブラウザを立ち上げて・・・あれ?まだ応答がない。

ターミナルを見直してみましょう。

[Thu Feb 01 11:22:33 2015] ::1:65533 Invalid request (Unexpected EOF)
^C
PC039:ekikore resaku$ php artisan serve
Laravel development server started on http://localhost:8000
[Thu Feb 01 11:22:33 2015] Failed to listen on localhost:8000 (reason: Address already in use)

「cntrol+c」で終了した跡「^C」もあります。
その後サーバも起動しています。
ん?
「失敗しました」言ってる。
理由は「Address already in use」・・・「すでに使用中のアドレス」だと。
つまりサーバは終了しておらず、ずっと動いているっぽいです。
プロセスが暴走してるんですね。
こういうのゾクゾクしますね。
「ダメです!初号機、信号を受け付けません!」的な。

うぉぉぉぉぉぉぉぉぉ!

^C           
^C           
^C           
^C           
^C           
^C           
^C           


TJCT!
_人人人人人人人人人人人人人人人人人人人人人人人人_
> (トラフィックがジャムってコマンドが届かない) <
 ̄YYYYYYYYYYYYYYYYYYYYYYYY ̄

殺意を覚えますね。
ではコロコロしましょう。
いわゆるkillコマンドです。

それにしてもこの名称は変わらないんですかね。
サッカーの「自殺点」や「サドンデス」もよろしくないということで「オウンゴール」だとか「Vゴール方式」だとか、なまっちょろい名前になってしまって。

さて、殺るからには、ターゲットを定めましょう。
無差別は良くありません。

ps -f

これで動いているプロセス一覧が表示されます。

PC039:ekikore resaku$ ps -f
UID PID PPID C STIME TTY TIME CMD
502 41956 41955 0 6 215 ttys000 0:00.07 -bash
502 56845 1 0 6:07PM ttys000 2:16.04 /usr/local/php5/bin/php -S localhost:8000 -t /Users/resaku/Desktop/ekikore/public server.php
502 41963 41962 0 6 215 ttys001 0:00.06 -bash
502 43528 41963 0 6 215 ttys001 0:56.53 mysql -uroot

ありました!
上から2番目。
localhost:8000とかserver.phpとか、これがサーバでしょう。多分。

killコマンドはこんな風に使います。

kill -9 <消したいプロセスID>

今回コロコロするプロセスIDは56845なので

PC039:ekikore resaku$ kill -9 56845

こんなふうにする。

さてps -fでプロセス見てみましょう。

PC039:ekikore resaku$ ps -f
UID PID PPID C STIME TTY TIME CMD
502 41956 41955 0 6 215 ttys000 0:00.07 -bash
502 41963 41962 0 6 215 ttys001 0:00.06 -bash
502 43528 41963 0 6 215 ttys001 0:56.53 mysql -uroot

例のサーバーっぽいのが消えました。
改めてパルメザン。

PC039:ekikore resaku$ php artisan serve
Laravel development server started on http://localhost:8000

ブラウザも普通に使えるようになりました。
以上、プロセスの暗殺教室でした。
TJCT!

 - Laravel

adpc

adpc

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  関連記事

MBAにLaravelな開発環境を構築してみる(中編)

-これまでのあらすじ- パルチザンが環境構築を終えてサーバ起動したらエラーになっ …

MBAにLaravelな開発環境を構築してみる(後編)

-これまでのあらすじ- php -v 「ワタシハPHP5.5デス」 phpinf …

mysql
コマンドラインでMySQLを操作するまとめ(復習)

phpMyAdminなどで運用中心にやっているとコマンドラインを忘れがち。 なの …

マイグレーション~DB構造の変遷を共有する

PHPファイルをローカルで作業してテストして、gitでcommitする。 これは …

mysql
MySQLをチューニング3:MySQLの設定見直す

データベースが重いからMySQLをチューニングするに書いた四天王の三人目「MyS …

mysql
dumpした大容量sqlファイルでDBを構築-IT版本当にあった怖い話(レベル8)

途中までは、よくある話。 「dumpしたsqlファイル送るからそっちのローカルに …

MBAの英字キーボードをKarabinerで使いやすくする

れさくさんの貧弱なMBAを見かねて、MBAが貸与されました。 なんとメモリは2倍 …

MBAにLaravelな開発環境を構築してみる(前編)

Laravelを使います。 今世界中で注目されているフレームワークです。 まず響 …