Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

Shebangとは、UNIXのシェルスクリプトの業界標準で、シェルスクリプトの一行目のコメントの、#!を意味する。sheが短母音か長母音か分からなかったので、英語ネイティブにたずねたところ、人によって意見が違う。短母音の方が多数派のようなので、一応シバンが近いものになるだろう。日本語版のWikipediaでも、シバンとしている。この機能には他にも多数の名前があるが、もっとも有名なのが、Shebangだそうだ。 その業界標準的な文法は、以下の通り(ただし、後述するように、この文字列の扱いについては違いがある) #! 文字列 [改行] 普通、実行権限のついたファイルは、標準のシェルで実行されるが、このShebangがある場合は、#!から改行までの間の文字列を、後述するバラバラな方法で解釈して、execで実行し、その際の引数には元のシェルスクリプトファイルへのパスが指定される。 問題は、このsh
UNIXなどPOSIX準拠のOSでは、割り込みや例外を抽象化した「シグナル」と呼ばれる仕組みを用いてプロセスに(非)同期イベントが通知されますが、シグナルハンドラで行える処理には制約があり、これを無視したコードを書くと脆弱性につながる恐れがあります。今回はシグナルハンドラの制約に関するルールを見てみましょう。 シグナルハンドラの制約 UNIXなどPOSIX準拠のOSでは、割り込みや例外を抽象化した「シグナル」と呼ばれる仕組みを用いてプロセスに(非)同期イベントが通知されます。ユーザが[Ctrl]-[C]キーを押してプログラムを中断しようとしたり(SIGINT)、整数オーバーフローが発生したり(SIGFPE)すると、それらのイベントに対応するシグナルがカーネルからプロセスに対して通知されるのです。プログラマは、これらのシグナルを受信した時に特定の動作を行わせる「シグナルハンドラ」を書くことが
■ du で見つからない巨大ファイルは lsof で見つけるの術 とあるサーバーの disk usage が 90% を超えていて「やれやれ logrotate 漏れか」と、ルートから du でせっせと調べてみても全体の 30% くらいにしかならなくてなんだコレは!と右往左往していたら隣に座っている @hiboma が lsof でプロセスが掴みっぱなしの fd を見つけてくれた。 どうやら td-agent がゾンビのように残っていて、削除済みでマークされている巨大な tail ログを掴み続けていて、それが全体の 60% になっていたことが原因だった。さっくり kill したら fd が解放されて無事 disk usage が緑色に戻りましたとさ。めでたしめでたし。
unix domain socket経由でプロセス間でファイル記述子のやりとりができるので、コネクションをプーリングして、unix domain socket経由で別プロセスに貸し出すスクリプトを試しに書いてみました。 https://github.com/hirose31/socket-pooling poold.pl は起動すると 127.0.0.1:11211 へのコネクションを 3 つ作って保持し、unix domain socketをlistenしてクライアントからの貸し出し要求を待ちます。 ちなみに、unix domain socket は名前付きのではなく、abstract namespace のを作っています。これの利点は、パスに依存しないので、chroot内のプロセスと外のプロセスがやりとりできる点です。 client.pl は起動すると、unix domain sock
At TxJS the other day, I gave a talk where I mentioned that the Unix Philosophy is a crucial part of the patterns, opinions, and culture of Node.js. As usual, I made my slides available online well in advance of the talk video being available. For some reason, this brief mention of “Unix Philosophy” set off a few peoples’ ire. Since I had only 25 minutes, and every slide could probably be its own
Re: [twitter:@riywo]'s UNIX Command Idioms ps auxwwwwwww number of "w" depends on my mood in that day :D ps auxwwwwwwwww -L netstat -tna / -una / -tnl / -tnap tar xvf tar zxvf / jxvf / Jxvf are boring trailing slash in rsync rsync -av file [file] HOST:dir/ rsync -av dir/ HOST:dir/ tcpdump -i any -nlx strace -s 100 -fFTttt diff -u /path/to/file <(ssh host cat /path/to/file) see also: http://d.haten
Practical IoT Hacking After two long years of hard work it's finally out! Our book on Practical IoT Hacking has been published by No Starch Press. You can learn about how it came to be at Practical IoT Hacking timeline and what writing a technical book like this taught me. You can also find The Definitive Guide to Attacking the Internet of Things on Amazon. -- ithilgore, 1 February 2021 2019 highl
Introduction This page is the home of the Filesystem Hierarchy Standard (FHS). The current version is 2.3. It was announced on January 29, 2004. The filesystem standard has been designed to be used by Unix distribution developers, package developers, and system implementors. However, it is primarily intended to be a reference and is not a tutorial on how to manage a Unix filesystem or directory hi
はじめに これから書く内容は、シェルスクリプトをばりばり書いている現場(サーバエンジニア・インフラエンジニア)向けのものではありません。 年に数回crontabをいじるような現場(サーバに詳しくないアプリケーションプログラマが多数を占めるような現場とか、Webデザイナや非プログラマがcrontabをおそるおそるいじったりするような現場)を想定しています。 >/dev/null 2>&1 の問題点 この記法の問題点は、「覚えにくい、間違えやすい、間違ってても気づかない」ということです。 初心者を迷わせる要素がこんなにあります。 >/dev/nullは先か後か 1と2はどちらが先か &はどこに書くのか よって下記のように多種多様なミスが起こり得ます。 2>&1 >/dev/null >/dev/null 1>&2 >/dev/null 2>1& >/dev/null &2>1 これをぱっと見て
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く