個人的な授業のメモです
psコマンドとは
実行中のプロセスを表示するコマンドである。
sidekiq
のgemを使ってるサービスのデプロイをする機会があり、sidekiq
の再起動をせずにデプロイだけして、ソースコードが反映されないという事態になりました。そこで使ったのがpsコマンド
です!
psコマンド
でsidekiqが動いていることを確認して、プロセスを殺してからsidekiqを起動する必要がありました。
本番環境で実際に打ったコマンド
$ ps aux | grep sidekiq
動いてるsidekiqのプロセスを確認。
※grepコマンドはその後の文字列を含むものを表示します
$ kill プロセスID
killコマンド
でプロセスIDを指定して、そのプロセスを殺します。
$ RAILS_ENV=production bundle exec sidekiq -C config/sidekiq.yml -d
再び、sidekiqを起動。
これで無事本番環境で変更したソースコードが反映されました!
それで、psコマンド
はどうやって使うの!?
今から、説明します。
実行方法
$ ps
これだけでも使えますが、通常オプション
を付けて実行します。
オプション
a : 自分以外のユーザーのプロセスも表示
u : ユーザー名と開始時刻も表示
x : 制御端末のないプロセスの情報も表示する
表示される要素の意味
USER : 所有者のユーザー名
PID : プロセスID
%CPU : プロセスのCPU負荷率
%MEM : プロセスのCPU時間の総計
VSZ : 仮想メモリサイズ
RSS : プロセスが使用中の物理メモリ量
TT : 制御端末の種類および番号
TIME : プロセスが起動してから利用したCPU時間の総計
COMMAND : プロセスのコマンド名
STAT : プロセスの状態
· S ···スリープ状態
· T ···停止中またはトレース中
· D ···割り込み不可能なスリープ状態
· < ···負のnice値を持つプロセス
· R ···実行中
· N ···正のnice値を持つプロセス
· Z ···ゾンビ
· W ···スワップアウトされたプロセス