Linux
久々に、nohupを使ったのでメモしておきます
Shell

nohupとバックグラウンドプロセスを、簡単にまとめると

まとめは2点。

  • nohupは、 SIGHUP に対して影響を受けないようする対処方法
  • & をつけると、バックグラウンドプロセス。

詳しい説明をされていたページがありましたので、こちらを紹介しておきます

使い方

$ nohup {コマンド} 1>out.log 2>error.log &

標準エラー出力で、エラーが出る場合はこちらをいれるとよいです。
2>error.log

Linux
シェルインターフェイスについて確認してみました
LinuxShell

はじめに

こんにちは。インフラエンジニアレベル1のf_prgです。
シェルインターフェイスについて改めて確認しました。

シェルインターフェイスの種類

Bourne Shell(sh)

一般的なシェルインターフェイスです。

Bourne-Again shell (bash)

Bourne Shell のオープンソース版として開発されたものだそうです。

C Shell(csh)

BSD向け。C言語をモデル。あまり使われてないようです。

Z Shell(zsh)

zshですね。最近私は、Macではこちらを使用してます。
高機能ですし、tmuxと併用して使ってます。

そのほか

ksh, csh, tcshとかあるようです。

設定ファイル

sh

/etc/profile
~/.profile
とが対象ですね。

bash

shに加えて
bashrc, bash_profile
など読み込むものが増えてますね。

zsh

zshだと種類がたくさんありますね。zprofileなどなど。

まとめ

基礎的なところで、シェルインターフェイスについて確認してみました。
まだまだレベル1から昇格できそうにないですね。

補足、おまけ

なんで記事書いたのかと言いますと、
たまに「シェルの種類とか違いを、知らないの?」という人とお会いするので
「まぁ、そんなに知らないですよ。すいません。」という感じを伝えたかっただけです。

参考資料・リンク

WikipediaのUnixシェルページ

Linux
daemontoolsを使う
daemontools

はじめに

こんにちは。インフラエンジニアレベル1のf_prgです。
業務でdaemontoolsに触ったんですが、すっかり忘れたので
おさらいをしながら方法を書いていきます。

daemontoolsとは

ロギングやプロセス監視をするツールです。
https://ja.wikipedia.org/wiki/Daemontools

daemontoolsのインストール

早速インストールしてみます。
ドキュメントはこちらです。
http://cr.yp.to/daemontools/install.html

[root@ip-10-10-1-69 ~]# yum -y install gcc gcc-c++
[root@ip-10-10-1-69 ~]# cd /usr/local/src
[root@ip-10-10-1-69 src]# curl -O http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
[root@ip-10-10-1-69 src]# tar xzf daemontools-0.76.tar.gz
[root@ip-10-10-1-69 src]# cd admin/daemontools-0.76/
[root@ip-10-10-1-69 src]# curl -O http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/daemontools-0.76.errno.patch
[root@ip-10-10-1-69 src]# patch -p1 < daemontools-0.76.errno.patch
[root@ip-10-10-1-69 src]# package/install

インストールを始めたところ、error.hのパッチが必要と知りました。
パッチを当てることをお忘れなく。

damontoolsの準備

nginxを起動させるような仕組みを考えました。

[root@ip-10-10-1-69 service]# yum -y install nginx
[root@ip-10-10-1-69 service]# cd /service
[root@ip-10-10-1-69 service]# mkdir nginx
[root@ip-10-10-1-69 service]# cd nginx/
[root@ip-10-10-1-69 service]# vim run
[root@ip-10-10-1-69 service]# chmod 755 run

runファイルはこんな感じにしました。

#!/bin/sh

exec -c /etc/init.d/nginx start

damontoolsの起動

[root@ip-10-10-1-69 ~]# /bin/sh /command/svscanboot &
[root@ip-10-10-1-69 ~]# svstat /service/nginx
/service/nginx: up (pid 4695) 1 seconds

動いてますね。psコマンドでも確認できました。

nginxを停止して、再起動されるかどうか確認する。

[root@ip-10-10-1-69 ~]# /etc/init.d/nginx stop
Stopping nginx:                                            [  OK  ]

止めても、再起動されていることを確認できました。

まとめ

古いツールのようで、ドキュメントや方法がすぐに調べられました。
個人的には、monitやsupervisordの方が好きです。

参考資料・リンク

http://cr.yp.to/daemontools/install.html