tmuxの想像以上にコマンドからなんでも出来る感にうれしさを感じた。 tmux send-keysでキー入力を送るみたいなことが出来て、tmux send-keys 'echo hoge' Enter で echo hoge[Enter] というキーを送れる、つまり任意のコマンドが実行できる。 また、tmux command1 \; command2 という形で順番にコマンドを実行できる。 上記2つを組み合わせることでtmuxinatorでやる、windowをいくつ開いて、そこでpaneをいくつ開いて、それぞれでなんかコマンドを実行する。みたいなことが可能になる。ただ複雑になるくらいなら諦めてtmuxinator使ったりしたほうが良いとは思う。 # 今回この方法でやったこと tmux new-session \; \ new-window \; send-keys 'atig -d -h
普段の仕事で、tmuxでpane分割して12台のサーバに対してsynchronized-panesを利用して同時コマンド実行とかよく活用してます。 いままではtmuxのsplit-windowコマンドを大量発行して、なんとか分割してました。 「どう考えてもオプション(ry」と思ったものの、ぱっと見て見つからず。 さすがにそろそろムダな感じがしてきたので、pane分割スクリプト作っちゃいました。 実際、すぐに完成したので、もっと早く作っとけばよかったと後悔。多分生産性2割上がりました。 利用方法 以下のgitリポジトリをcloneして、dotfiles/bin以下をbashrc等でpathを通して貰えれば利用可能です。 git clone https://github.com/rksz/dotfiles.git paneというファイルが実体コマンドです。bashで書かれています。 ほかにも便
SSHでサーバにリモート接続してあれこれ作業って時に!! 画面を分割できたり、ネットワーク切断でもセッションを保持していて切断前の状態をキープしていてくれる優れもの。 そう、そいつの名はtmux。 元々は GNU Screen 使ってたけど、縦分割した際に時々境界線がずれたりする不具合があったりして乗り換え。 設定ファイル 今回インストールした環境はFedora18だったので、インストールは yum install tmux コマンドで終わり。 ~/.tmux.conf ファイルを作成して環境設定を行う。 Ctrl-t で色々操作できる様にする 日本語に対応させる 256色対応にさせる マウススクロールに対応させる コピーモードのキーバインドをvi風にする ペイン移動もvi風なキーバインドにする 格好よさげな色に変更してやる気を出す 以上の要件を満たす設定ファイルがこれだ! #プレフィック
こんにちはこんにちは 私は日々大量のサーバーで作業をする必要があるので tmux が欠かせません そんな中最高便利な記事が先日公開されました Tmuxでウィンドウをインタラクティブに移動する - Qiita [キータ] しかしこの記事が全く話題になっていません おそらく理解されていないのだと思います ということで私がもう少し詳しく説明したいと思います 先程の記事と同様に ssh-configにはパターンが使えるので便利 - Qiita [キータ] tmuxで色んなホストにsshする時に便利な.ssh/config - Qiita [キータ] の合計 3 記事を組み合わせて初めて達成できる最高のソリューションを紹介します tmux のウィンドウの名前 tmux で大量のウィンドウを立ち上げて ssh しているとどのウィンドウがどこのホストにいるのか分からなくなります そこで先程紹介した 2
自分用tmuxメモ よく忘れるんでメモっときます。 tmuxとは いわずもがなのtmux。説明は割愛。 http://kanjuku-tomato.blogspot.jp/2014/02/tmux.html tmux インストール # prefixキーをC-tに変更する(好み) set -g prefix C-t # C-bのキーバインドを解除する unbind C-b # キーストロークのディレイを減らす set -sg escape-time 0 # ウィンドウのインデックスを1から始める set -g base-index 1 # ペインのインデックスを1から始める setw -g pane-base-index 1 # 設定ファイルをリロードする #bind r source-file ~/.tmux.conf \; display "Reloaded!" # C-a*2でtmux
最近MySQLでDeadLock問題にハマったのでその時の調査メモ 背景 とあるバッチプログラムで多数のBULK INSERT/UPDATEを行う処理の検証を行った際、 並列数を上げるとDeadLockが発生するという問題に直面。 一処理で同時に発行するSQLが多すぎてアプリのログからは原因が追いきれなかった。 (<この時点でアプリの処理やログ出力を見直す必要がありそうだが、それはひとまず置いといて ^^;) その原因調査に役立った情報やMySQLの仕様などを備忘。 原因調査 まずはロックの原因を特定するためにInnoDB ロックモニターを有効化 mysql> SHOW ENGINE INNODB STATUS; -- (省略) -- ===================================== 2017-09-30 06:06:40 0x7f215046a700 INNOD
Linuxで各容量を確認するコマンド ディスクごとの容量を調べる 正確には各ディレクトリーにマウントされているディスク?となるかもしれません。 awsのec2ではインスタンス作成時にEBS(Amazon Elastic Block Store)を自由に設定できるので、 テスト、ステージングサーバーでおおよそのサイズを計算して、 本番サーバーのインスタンス設定をします。 -mでメガ表示となります。 $ df -m Filesystem 1M-blocks Used Available Use% Mounted on /dev/xvda1 100664 9869 90698 10% / devtmpfs 490 1 490 1% /dev tmpfs 499 0 499 0% /dev/shm ディレクトリーごとの容量を調べる。使用サイズの多い順に並べる さらにどこのディレクトリーが容量を使っ
はじめに こんにちは、中山です。 唐突ですがみなさんtmuxは使われていますか。そう、有名なターミナルの機能を拡張するツールですね。 この種のツールを使っていない方の中には、職場の先輩などに「ちょwターミナル開きすぎwブラクラかよw」などとドヤ顔で言われたことがある方もいらっしゃるのではないでしょうか。かく言う私もドヤ顔でこの種の発言を繰り返していました。 tmuxはデフォルトの機能がかなり豊富なのですが、tpmというプラグインマネージャを使うとさらに機能を拡張することができます。聞いたことがある方も多いのではないでしょうか。ググると検索結果に結構表示されますね。GitHubのtmux-pluginsというorganizationにはさまざまなプラグインがあります。便利なプラグインを紹介しているブログエントリも結構あります。 私はこのプラグインを今まで結構作ってきました。少しシェルスクリプ
C-b はControl + B #新規セッションの開始 tmux #新規セッションの開始(名前指定) tmux new-session -s <name> #セッション一覧 tmux ls #セッション名変更 C-b + $ #セッション名変更 :rename-session <name> #セッション名変更 tmux rename -t <old-name> <new-name> #指定したセッションにアタッチ tmux a -t <session-name> #セッションのデタッチ C-b + d #ウィンドウ作成 C-b + c #ウィンドウ名変更 C-b + , #ウィンドウ名変更 C-b + , #ウィンドウ移動(next) C-b + n #ウィンドウ移動(pre) C-b + p #指定した番号のウィンドウに移動 C-b + <number> #ウィンドウ一覧表示(矢印キー
エラー発生 ある日、以下のエラーが発生した。どうやらデッドロックが起きたらしい。 「SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction with query:」 発生個所 一度登録内容を削除し、元の内容+新規の内容を登録するような処理をしていた場所でエラー発生。 つまり、DB登録処理のDELETE-INSERTのINSERT部分。 ログから分かったこと 同時刻に二つ以上のクライアントが同じ処理を実行 各クライアントは別のレコードを対象に操作 デッドロックが発生したのは一クライアントだけ いわゆる「別のトランザクションから同一レコードを操作すると起きるデッドロック(レコードロック)」ではないと分かる。 とりあえず原因 結果
$ sleep 2 & # コマンド末尾に&をつけて呼び出すとバックグラウンドプロセスになり、並列で実行される $ sleep 4 & $ sleep 1 & $ sleep 4 & $ wait # 上記のバックグラウンドプロセスたちを待機。もっともかかるもので4秒なため、合計で4秒かかる [1] 38498 [2] 38499 [3] 38500 [4] 38501 [3] - 38500 done sleep 1 # 1秒後([1]のプロセスより先に終了) [1] 38498 done sleep 2 # 2秒後 [4] + 38501 done sleep 4 # 4秒後([2]のプロセスとほぼ同時に終了) [2] + 38499 done sleep 4 # 4秒後([4]のプロセスとほぼ同時に終了) echo "hogehoge.shを実行します" ./hogehoge.sh
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く