Glamenv-Septzen(ぐらめぬ・ぜぷつぇん)(archive) 技術/UNIX/なぜnohupをバックグランドジョブとして起動するのが定番なのか?(擬似端末, Pseudo Terminal, SIGHUP他) [ Prev ] [ Next ] [ 技術 ] 何をいまさら当たり前の事を・・・と思われるだろう。 $ nohup long_run_batch.sh & SSHからログアウト後も実行を続けたいバッチジョブを、"&"を付けてバックグラウンドジョブとしてnohupから起動するのは定番中の定番である。 しかし、「nohupを使わなくても実行を続けることが出来る」やり方があったり、さらには「nohupを付けてもログアウト時に終了してしまう」パターンがあるとしたらどうだろう? そして、ある日あなたの後輩や同僚がこれらについてあなたに質問してきたら、あなたはどう答えるだろうか?
さて今回は、インフラエンジニアとしてやっていくための道具?についてちょっと書いてみたいと思います。ただ正直、今回の内容は若干ジェネレーションギャップがあるかもしれません。あったらスミマセン(笑)。 インフラエンジニアといっても、その働く環境は千差万別です。まあインフラエンジニアという定義が広すぎるというのもありますが。私は自分の働いてきた環境が基準なので、それを前提にしてみたいと思います。 入門編 何はなくともターミナル インフラエンジニアにとって何よりも重要なのはコンソールというかターミナルです。ttyやptyのことです。サーバだろうがルータだろうが、作業の9割以上はターミナル上で行います。─あくまで筆者のいた環境のことですよ。Windowsサーバとかは考えていませんすみません。 昔の話をしてすみませんが、1990年代にはまだ「TTY端末」というものがたくさんありました。TTY端末と
Hello, I’m Kristof, a human being like you, and an easy to work with, friendly guy. I've been a programmer, a consultant, CIO in startups, head of software development in government, and built two software companies. Some days I’m coding Golang in the guts of a system and other days I'm wearing a suit to help clients with their DevOps practices. A little collection of cool unix terminal/console/cu
プロセスアカウンティング用に広く利用できる物として "Process Accounting Utility" があります。環境によって、パッケージの名前が、 psacct もしくは acct になっているものです。 $ # インストール (ubuntu) $ apt-get install acct 用意されているコマンド lastcomm: 実行されたコマンドの表示 ac : ユーザの接続時間の表示 sa: 過去に実行されたコマンドの集計/フィルタ ※ 質問の要件を満たすために、一般ユーザーからはこれらのコマンドが実行できないようにしてください。 アカウンティングサービスの実行 $ # サービスの開始 $ /etc/init.d/acct start $ # サービスの停止 $ /etc/init.d/acct stop 実際は、accton コマンドによってプロセス監視が始められます。
通常なら他のツールと組み合わせたり、2~3ステップが必要な処理もzshの多様な展開処理を用いれば一発で結果が得られることが多い。 エイリアス エイリアスは手軽に設定できすぐに効果が得られる便利な機能である。他のシェルでも使える基本的なエイリアスの他に、zshには以下のエイリアスが用意されている。 接尾辞エイリアス グローバルエイリアス 接尾辞エイリアス 接尾辞(suffix)エイリアスは、ファイルの拡張子とそれを開くアプリケーションプログラムの関連付けとも言える機能で、特定の拡張子を特定のプログラム起動に結び付ける。接尾辞エイリアスは alias -s で登録する。 alias -s pdf=xpdf とすると、拡張子が ".pdf" のファイルをコマンドラインのコマンド位置で「起動」するとxpdfを起動して開く。 % ls foo.pdf hoge.pdf % foo.pdf zsh:
今回も前回に引き続き、「ターミナルそのもの」に関するレシピをお届けします。 Emacsからターミナルを呼び出す 第32回・第33回で紹介したように、geditやKateといったテキストエディタにはターミナルを組み込んだ状態で利用することができます。 テキストエディタを頻繁に利用する場合はこれらを利用した方が便利でしょう。 EmacsでもgeditやKateと同様に、組み込みターミナルを利用することができます。Emacsでターミナルを利用する場合は複数の方法があり、それぞれ特性が異なります。 Emacs::shell Emacsのごく標準的な組み込みターミナルは、M-x shellで起動することができます(図1)。 図1 M-x shell しかし、上記のスクリーンショットでも部分的に文字が化けている通り、このモードはターミナルとしての機能に制限があります。端的には[tab]による補完
Ubuntuでは、ほとんどの操作をGUIから行えるように配慮されていますが、中身はLinuxですので、各種コマンドを直接利用することもできます。何回かに分けてターミナル(端末)を利用したレシピをお届けします。 今回はまず第一回として、端末を頻繁に使う場合のノウハウを中心にお伝えします。 Ubuntuでのターミナル Ubuntuでは、ターミナル(gnome-terminal)は、[アプリケーション]→[アクセサリ]→[端末]からアクセスできます。積極的に利用する場合、やや問題になる点が幾つかありますので、必要に応じて設定を行ってください。 まず、gnome-terminalは、デフォルトでは一部の文字の文字幅を正しく扱えません。問題になりうるのは、多くの場合は■や△、○などといった記号です。 図1 文字幅が正しく扱われていないターミナル このような問題に遭遇した場合、環境変数と
Ubuntu 9.04では様々な新機能が追加されました。その中には"screen-profiles"と名付けられた、GNU Screenの設定集が含まれています。これはターミナルにCPUやメモリの利用率、無線LANの接続品質・アップデータの有無などなど、多くのインジケータを表示することができるものです。今回はこのscreen-profilesの使い方を紹介します。あわせて、screen-profilesの最新版、"byobu"(屏風)も紹介します。 screen-profilesの概要 GNU Screenは第19回でも触れた通り、ターミナルを頻繁に利用するユーザーにとっては欠かせないものです。sshでログインしてScreenを起動して作業を行い(screen)、Screenをdetach(screen -r)して再接続、といった使い方は、ターミナルを中心に作業を行う場合の定石のひとつ
今回紹介するツール [ツール名]Terminals [対象]Windows [提供元]Robert Chartier、Microsoft Shared Source Community License(MS-CL) [ダウンロード先][URL]https://terminals.codeplex.com/[英語] マルチプロトコル、マルチタブ対応のリモートコンソール 「Terminals」は、マルチタブに対応したリモートコンソールクライアントです。対応プロトコルは、「RDP」「VNC」「VMRC」「SSH」「Telnet」「RAS」「Citrix ICA」「HTTP」「HTTPS」と幅広いので、あなたが普段使用している各種リモート接続クライアントをこのTerminals一つで置き換えることができるでしょう(画面1、画面2)。 RDP(Remote Desktop Protocol)は、Wi
今回はzshの誇る機能の花形とも言える補完機能について紹介しよう。zshの補完は強大で、例示した設定の意味を略さず書こうとするとそれだけで本になってしまう(約150ページ分)ので、細かい意味は読者の推測にまかせて、少し変えて便利にカスタマイズする場合のヒントを交えながら解説を進めたい。 補完の有効化 初期化ファイル、あるいはコマンドラインで、以下を入力することでzshのすぐれた補完機能が有効化される。 autoload -U compinit && compinit 補完に関するキー割り当てはいくつもあるが、最低限うまく利用するために以下の2つのキーバインドをまず覚えておけばよいだろう。 Tab (C-i) - expand-or-complete 補完の実行。 ESC C-d (または行末のみ C-d) - list-choices (delete-char-or-list) マッチする
端末で作業をするなら、特にsshなどでネットワーク後しに作業を行うなら、仮想端末管理ソフトウェアであるGNU Screenは必須といってよいでしょう。Ubuntu 10.04であれば、GNU Screenをさらに便利に使うためのアプリケーション「byobu」が最初から導入されているので、こちらを使っているユーザも多いと思います(byobuについては本連載72回参照、注1)。 今週のレシピは、GNU Screenと同じ仮想端末管理ソフトウェアである「tmux」ターミナルマルチプレクサを紹介します。 GNU Screenの利点とは GNU Screenの利点を簡単におさらいしておきましょう。GNU Screenには多くの機能がありますが、筆者が主に使っているのは以下のような機能です。 GUIのタブ機能のように、複数の端末を起動して切り替えられる 端末を画面分割して使うことができる 端末上で
はじめに サーバを運用したり環境を構築したりしていて「あれ。あのプロセスで吐いてるログどこだっけ・・」など困るときがあります。 そんなときに頼りになるかもしれないコマンドを 3つご紹介します。 @madeth 師匠に教えていただきました。 1. proc でプロセスが使っているファイルを見る 困ったこと プロセスの吐くログのパスがどうしても分からない・・。 解決法 (編集 2014/09/10) 知りたいプロセスの ID を調べます。 $ ps aux | grep unicorn deploy 3335 xxx xxx xxx xxx X XX 15:14 0:07 unicorn master -c /var/www/myproject/unicorn/staging.rb -E staging -D プロセスID (この場合は 3335) をもとに root 権限でファイルディスクリ
Eight Terminal Utilities Every OS X Command Line User Should Know The OS X Terminal opens up a world of powerful UNIX utilities and scripts. If you’re migrating from Linux, you’ll find many familiar commands work the way you expect. But power users often aren’t aware that OS X comes with a number of its own text-based utilities not found on any other operating system. Learning about these Mac-only
2014年4月17日に待望の GNU Screen の新バージョン 4.2 がリリースされました。 [screen-devel] GNU Screen v.4.2.0Hello everyone, it is my pleasure to announce release of GNU Screen v.4.2.0 available at http://download.savannah.gnu.org/releases/screen/ (I will also upload to ftp.gnu.org as soon as my access is authorized) Many are probably using it due to their distributions packaging development versions, so they know at least
はじめに このガイドでは、はじめて Zsh を使う人や Zsh の便利な使い方を知らない人に向けて、いくつかの便利な設定と操作方法を紹介します。また、 Zsh についての疑問を素早く解決できるよう、マニュアルの調べ方や他のドキュメントへのリンクも盛り込んであります。 このガイドでカバーしきれていない設定や分かりやすいドキュメントをご存知でしたら、ぜひ編集リクエストやコメントでお知らせください。 設定ファイル ここでは主に普段のキー入力数を大幅に減らせるような設定を紹介します。 .zshrc ~/.zshrc は Zsh のインタラクティブシェル(ユーザーがコマンドを入力する画面)が起動した際に読み込まれる設定ファイルです。 Zsh スクリプトを実行したり、 zsh -c 'command...' でコマンドを実行したりしたときには読み込まれません。このファイルには主に Zsh の操作に関す
いろいろな略称が多い! コマンドやディレクトリ名など、UnixなOSはとにかくいろいろな略称が多いです。特にさわりはじめの人はこの略称がいみわからずに心が折れてしまうことは多いと思います。実際にSchooでUnixの授業をやったときもこの略称を説明しました。 というわけでまとめてみました。なぜ略称が多いのかが気になる人はこちらを読んでみてください。 UNIXという考え方―その設計思想と哲学 作者:Mike Gancarzオーム社Amazon ※ちなみに、Linuxにもほぼ通用すると思いますがMacをベースに書いているのでUnixという表記にしています。 ディレクトリ名 名称 本来の意味 備考 usr User Services and Routines これは若干怪しめです。Userという説も var Variable ログやメールの情報など、変わりうる情報を扱うもの tmp Tempor
morimorihogeです.新年一発目の投稿です.最近木曾が改二になりました. Web開発に限らず,UNIX系で動作するシステムの開発・運用に携わっていると常にターミナルクライアントを開いているということが多いかと思います.Web開発やサーバインフラの構築・運用をやっていると,自分のローカルPCだけではなく,リモート上の別マシンに接続し,テストサーバや本番サーバでコマンドを打って作業する機会が多くなります. そんな中「ローカルマシンのコンソールだと思ってrmしたら実は本番系サーバだった」「なんか色々実行してて処理が怪しいなと思ったら別のサーバだった」という思いをしたことがあるのは僕一人だけじゃないと思います. 今回はこういった問題を防止するために僕が普段から守っているターミナルの運用ポリシを紹介してみようと思います.あまり技術的な話はないですが,普段開発・運用を仕事としてしていく上でのノ
ギーク野郎 ギーク野郎とは開発用Terminalを常に立ち上げてプログラミング言語をいじっている人の事をここでは意味します。ギーク野郎はモニターを複数台所有し、それぞれがTerminal用、ネットサーフィン用、ニコニコ動画専用というような使い分けをしています。しかしそれぞれのモニターへの視線とマウス移動はフラストレーションを溜める1要因になります。それを回避するために本当のギーク野郎は1台モニタのTerminalだけで作業します。すみません、左の発言は適当です笑。この記事ではTerminalだけで作業を完結したい人を対象とし、GUIを使わずにCUIだけでの作業環境構築を目指し、それに役立ちそうなアイテムについて紹介します。 tmux tmux プロセス管理の初歩テクニック - Yuta.Kikuchiの日記 tmuxを使ってWorking Spaceを効率的に使う事を強く薦めます。個人的に
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く