くだらない質問はここに書き込め!Part 59
>>118
GPLの流用部分とリンクする部分はGPL
> githubで公開するときにあるブランチはmitと自分で書いたものなのでmit
> 別のブランチはgplが混ざっているのでgplみたいなことは許される?
MITライセンス部分のみでプログラムを構築出来て機能するなら可能 >>119
ありがとうございます
全部まとめてリンクするのでgplになりますね
助かりました どこに書くか悩んだのですが
様々な種類のプログラムが一定時間内にある程度実行されるようなワークロードや実環境を知りませんか? 説明不足ですいません.
ある条件の実環境の例をさがしていまして,その条件というのが
1.プロセス生成処理がある一定期間に複数回生じる
2.プロセスは単一のプログラムからではなく複数の種類のプログラムである
という条件です
例えば,Webサーバであればクライアントからの要求が大量になると子プロセスをたくさん生成し処理を行わせます
これは,条件1にはあてはまりますが,子プロセスは親プロセスと同じプログラムなので条件2には当てはまりません.
条件1と条件2にあてはまるような実環境をご存じないでしょうか 実は>>82も過去に私がした質問なのです
>>82の時点では条件1のみで良かったのですが条件2を満たすことが新たに必要になったのです 既に出ている方法のどこにどんな問題があるのか説明しないと建設的な会話にならない >>123
それなら同じマシンに複数のWebサーバの親プロセスがあればいいんじゃね
apache以外も使ってポートいっぱい開けて死ぬほどリクエスト受け付ければいい
VirtualBoxとかで複数の仮想マシン起こしてそれぞれに別々の仕事をさせるとかいう方法もあるけど 不動明王とデニス・リッチーはどっちの方が凄いですか? webからあるいはCUIから(別の)非常に重いプログラム Aを起動するとき、(webのときのtimeoutとかは無視して)
Aは元のプロセスの子のプロセスとして実行されると思います
例えばapache/phpが親だったらapache/phpが落ちちゃうと、sshで繋いでCUIから実行してたらssh切っちゃうと、Aも落ちちゃったりする
それがまずそうなのと、重い処理だからタスクが複数あったとき順次やって欲しいとか時刻指定したいとかのために
cronにタスク確認&実行処理のバッチを入れるか、at(/batch)でやってもらおうか、と考えています。
そこで質問したいんですが、cronだのatだのを使ったときについて。
・やっぱりcrondやatdが落ちちゃうとタスクとして入れたプログラムも落ちちゃいますよね?(具体的にどういうときに落ちるかわからないですけど)
・cronやatを使うときに、プログラムが動き続ける時間について、制約や問題があったりするんでしょうか?
・というかこういう感じでタスク処理させたいとき、普通どうするもんなんでしょうか?(固有のポートで待ち構えてキュー処理請け負ってくれるデーモン使うほうがいい?)
内容をまとめきれてないですけど、よろしくお願いします >>129
まずは nohup を使ってみては?
webのCGIプログラムはstdoutで繋がってたりするのでcloseするといい >>130
nohup、ありがとうございます。前にwebから直接叩くのに使ったのにすっかり忘れてました・・・
というかSIGHUP・SIGTERM・SIGKILLがいつ何から送られるか考えればいいんですね
並列実行だけ気をつけてat使うのを検討してきます イケメン好き必見!
24日と25日はイケメンXmasフェス開催!
URL貼れないから
メーンズガーデン ってググってみて
※正しいサイト名は英語。 Unixドメインソケットって複数のプロセスが同時に読み書きできるんでしょうか?
nginx、unicornのワーカープロセスがそれぞれ複数あるとき、同一のエンドポイント(パス)
を通してどうやって通信してるのか気になるんですが 質問に回答が付いてないのがあって人がいるかわかりませんが
初歩的なことで質問です
cshではログイン時に".login"、シェル起動ごとに".cshrc"が、
bashではログイン時に".bash_profile"、".bash_login"、".profile"のいずれか、シェル起動ごとに".bashrc"が読み込まれるとのことですが、
このタイミングがよくわかりません
X window systemやgnomeなどでは必ずしも
ターミナルは立ち上がらないと思うのですが
この場合、ログイン時に読み込まれるファイルはターミナル起動時になるのでしょうか?
また、ターミナル起動時のシェルから別のシェルに切り替えた場合
(例えばcsh→bash)の場合、エイリアスやパス、
環境変数などの設定は引き継がれるのでしょうか? 読み込まれるのはシェルのプロセスが対話的で起動するとき
対話的とは何か、どのファイルが読み込まれるか、についてはman参照
GUIログインでも上記と同様
たいていはターミナル開いたときにシェルが対話的で起動されるんじゃね
エイリアスはそれぞれのシェルの機能なので引き継がれない
環境変数は引き継がれるけど、引き継がれた側でセットし直すのもあるかも 遅くなりました
別件に時間を取られていたため遅くなりましたが
おとといようやく自環境で確認しました。
まだ、「対話的とは?」の確認は取れてないのですが
どうやら自環境ではターミナル起動時に.loginは読み込まれないみたい…
ご回答、ありがとうございました。 質問です。
1996年に大学で Solaris (2.5か2.5.1か2.6) に触れたとき、確か tcsh だったと
思うのですが、path の先頭に . が入ってました。それをいいことに、/tmp とか
自分のホームディレクトリに ls などを置いていたずらをしておりました。
その後、この設定は当時は Solaris 標準または tcsh 標準だったのか、あるいは
大学の管理者がそういう設定をしてしまったのかがずっと気になっています。
また、最初にさわった FreeBSD 2.1.5-RELEASE ではどうだったのかは完全に
忘れてしまいました。その辺もご存知であればぜひお教えください。 技術士の全部門をコンプリート vs 東大理三首席現役合格 vs 旧司法試験首席一発合格
どれが一番凄い? >>143
ちょっと書き方が偏ってるが、司法試験にたいし理科三類は医師国家試験の合と
判断するなら医師が最強だね。
みな職業に通じた記述でもないから、技術屋、医師・研究者、検事、判事、弁護士で分類すると
だいたい医者の一人勝ちで言い方は悪いが東大じゃなく埼玉医科大卒でも充分匹敵する。
医療点数は学的に差別無いから カスタマーエンジニアってどうですか?収入面とか労働面で。
楽ですか?それとも超キツイですか? >>146
横文字の商売で稼げるとか楽なのは何もない、基本は使い捨て派遣労働の領域 Solaris 9 9/05 Operating Environment DVD-ROM (のx86版)を発掘したので
仮想環境にインストールしてみたのだけど、
java enteprise system
の インストール元である媒体 を要求されました。
そんなCD-ROMかDVD-ROMってあったの?
(Core部分しか入れてなかったから気にしたことなかった) >>149
ユニクリストとかユニクサーとかユニクサラーとかかな。 PC-UNIXで使えるSCSIとATAPI/SATA/USBのコマンドを相互に変換できるソフトウェアってありませんかね?
今風な光学ドライブをiSCSI経由で利用したいです。コマンドが適切に変換されればイニシエータから
CDやDVDドライブなどの主要機能も利用できますよね?
これが出来ると無線LANの先に光学ドライブを設置可能になります
機能的にはATAoEでも良さそうですがWindowsのサポートが・・・ 「すみませんが詳しい方のみ回答をお願いします」の元ネタって何?
よく Unix 板で見掛けるんだが。 >>153
その質問に対しては詳しくなくても答えて良いのか?
それとも詳しい人限定か明記しておけ。
ネタになってない。 >>153
たまにそういうこと言う質問者いるじゃん
それを真似てコピペしてるだけかと >>155
いや流石にそんな失礼な人はいないでしょ。 「すみませんが詳しい方のみ回答をお願いします」の元ネタって何?
よく Unix 板で見掛けるんだが。
雑談とか要らないんで
すみませんが詳しい方のみ回答をお願いします。 東京に、超大量の超高層建築物を建てまくりたいのですが、どうすれば実現できますか?
最低でも2000棟以上は建てたいです。 構うべきではないが,UNIX 板ではそれ以外話題がない 家に青銅器しかないんですが,ステンレスのお盆と互換性はありますか? 数学とか計算機科学に超詳しくなったら絶対に人生変わりますよね? >>166
互換性無いです、比重が全く違うので同じ体裁でつくっても回転アクションが同等に
できないんです。
100%が達成できないなら互換とは呼べないんですbyあきら お知恵をお貸しください
foo.shのなかでbar.shを読んでいます。
foo.shを出力結果をログファイルにも出したくて
(〜〜〜) 2>&1 | tee -a log.log みたいに
foo.shの中身を全部サブシェル化して、teeに渡したのですが、foo.shが終了しなくなりました。
色々調べたりした結果
bar.shの中で nohup baz &と、デーモン化している部分があるのですが、
このnohupのstdoutにteeが渡されることによりttyと判断されず、nohup.outが使われずに
デーモンプロセスのstdoutがteeに繋がってしまい、
結果teeのstdinがcloseされないためfoo.shも終らないのではないかと予想しました。
予想は立ったのですが解決方法がまったく思い浮かびません。
bar.shは商用資材なので変更不可ですが、
foo.shは複数のshellを連続実行しているだけの試験用のshellなのでいくらでもいじれます。
なんならshellなくなっても問題ないです。 >>171
bazはfoo.sh終了後もずっと起動していて欲しいデーモンなんです あるファイルが二次記憶装置の何バイト目にあるかを知るにはどうすればいいでしょうか。
stat や file では望みの結果を得られません。
具体的には
$ foo file
という入力に対して
114514
というようなバイト数を返すコマンドが理想です。
---
蛇足かもしれませんが、何をしたいのかも追記します。
あるファイルシステムにおいてシンボリックリンクがどう扱われているのかをバイナリ形式で知りたく、
しかし当然そのファイルシステム上で処理する cat/od 等は使えないので、
dd を用いて二次記憶装置の対象ファイルの位置を直に指定することで実現しようとしています。 自分は生まれつきもの凄く頭が悪いのですが、東京大学理学部数学科に入って数学を学びたいという目標があります。
生まれつきもの凄く頭が悪い人でも、人並み外れた努力を積み重ねれば、その目標を実現することはできると思いますか?
どうでしょうか? >>176
あなたは私じゃないです。私宛てのレスに勝手に返信しないで下さい。
>>175
同一人物ではありませんが、その質問を受けてどうしても実現不可能なのか気になったので質問しました。 >>178
>>173 の私の投稿に対する回答ですか? とりあえずそうだと仮定させていただきます。
回答ありがとうございます。しかしシンボリックリンクに代表される「ファイル操作」という概念は OS が提供するファイルシステムによって実装されているものであって、
OS のカーネルそれ自体にとってその一連の実装は仮想ファイルシステムによって抽象化されている為カーネルを弄ることは無意味なのではないでしょうか。
私が運用していて >>173 のような作業を施したい OS は Debian GNU/Linux ですが、それはあまり関係ないのではないでしょうか。
寧ろ私が利用しているファイルシステムが ext4 であることの方が重要ではないでしょうか。
なぜファイルシステム単位で実装されている筈の機能を利用するためにカーネルに手を加える必要があるとお考えなのでしょうか。
高慢ちきな言い方ですいませんが、ご教授いただけると嬉しいです。 >>180
Linux の質問じゃないです
おまえもしおり孕ましたくせに何言っとんじゃ すいません最後の一分h誤爆です。また私はしおりという人物と無関係です >>173
自前でファイルシステム書いて、rawディスクを掘る
でも、そんなことしなくても、シンボリックリンクがどのように書かれているかと言う問いならば
内容はテキストファイルと同じ
それを指しているinodeに「これはレギュラーファイルでは無くてシンボリックリンク」と書かれている ファイルシステムがカーネルの一部機能と思えばカーネル弄れというのも当然だな ファイルシステムをプログラムだと勘違いしているのだろうか 振り出しに蒸し返すと、そもそものファイルシステムの内容を熟知して徹底考察すれば解決する話し何じゃないの?
特定のファイルシステムがファイルの置き方をどう仕切ってるかが重要で、そのなかにシンボリックリンクが
そう打ち込まれてファイルシステムの規則性を見たいんだよね。
バイナリで物理的に対象データの書かれた絵柄を見たいってのは視覚的に見たいんだろうけど
タダ見たところで「そのときの偶然の絵柄」を見てもいみないのでは?
あくまでファイルシステムのデータの置き方に重要性があるのでは? 思いついた
loopbackで空のファイルシステム作っておく
それをコピーして、その上に一個だけslink作る
空の奴と比較 >>179
> 私が運用していて >>173 のような作業を施したい OS は Debian GNU/Linux ですが、
Linuxの質問じゃん
Linux板行けよ >>188
いやそれ空と空比較してもバイナリ違うじゃろ >>173 の「シンボリックリンクがどう扱われてるか」という問いについては
特にファイルシステムでの違いはなく、基本的にファイルパスが書かれているファイルでしかない。
あるファイルがディスクのどのセクタに存在するかという問いについては
Linuxならdebugfsで、該当ファイルのinodeの内容を見れば、ある程度分かるはず。 >>192
loopback で作成しようがなんだろうが,シンボリックリンクを直に閲覧するレベルの操作をすれば当然「全く同一の」ファイルなんて作りようがないよなぁ。つまり「比較できない」ってことになるだろうが。だから >>188 のやり方は無意味。
ここまで書かないと理解できないのかww >>193
本当に、かわいそうになるくらい頭が悪いな ちなみに>>188の方法で
ln -s "this is test" test
して、双方のダンプをdiffした結果
> 0126600 377 241 000 000 014 000 000 000 172 337 256 131 164 337 256 131
> 377 241 \0 \0 \f \0 \0 \0 z 337 256 Y t 337 256 Y
> 0126620 164 337 256 131 000 000 000 000 000 000 001 000 000 000 000 000
> t 337 256 Y \0 \0 \0 \0 \0 \0 001 \0 \0 \0 \0 \0
> 0126640 000 000 000 000 001 000 000 000 164 150 151 163 040 151 163 040
> \0 \0 \0 \0 001 \0 \0 \0 t h i s i s
> 0126660 164 145 163 164 000 000 000 000 000 000 000 000 000 000 000 000
> t e s t \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
> 0126700 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
> \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
"this is test"が始まるところがブロック境界じゃない
0126600+4に014(十進で12) == strlen("this is test")が格納されている
おそらくinodeを見ている。
inodeの使わない領域(ファイルサイズが小さいと使わない領域がある)に埋め込んでいるのだろう。
>>193は本当に頭が悪い。 そんなに頭が悪いと生きているの辛くないか?
あ、頭が悪いから、そんなことに気付かないのか。
過去にどんな悪業つむと>>193のような頭の悪いのができるんだろう
次はミジンコからやりなおせ 素朴な疑問だけど、ファイルの物理的な書き込みが先頭からって言うけど
ファイルそのものはその先頭の場所から連続して総データが並ぶのかかい?
結局バラされちゃったりしないのか?
1台のHWのなかでストライピングのようにバラされてないのか? >>193
それもそうですね。ファイルの位置云々は諦めます。ありがとうございます。 環境変数は.bashrcでなく.bash_profileに書くのがお作法だと思うけど
.bash_profileだとscreenで新しいウィンドウを開いたとき反映されていない。
.bashrcに書いたほうが便利じゃなかろうか。なんか困ることある? >>200
理屈はどうでも良い、UNIXの歴史を考えるんだ
オマエはただ.bashrcを使い続ける、そして不具合が出たときそれに立ち向かえばいい
そして克服したとき君が成長し実績がUNIX界全体を成長させる。
困ることがスタート地点だ期待して待ってろ。 >>202
難しくはないでしょ、別に奇跡とか偶然でおこる結果ではないわけだから
300kgの米粒にはいった1つの当たり米を目隠しして1粒1回で取れっていうなら困難
学力テストや論文で優劣を付ける限りはそのポジションに至った人、至れた人には何の苦難もない結果。
難しさを克服すれば全員がそこに行けることもないし
可能な人だけが到達できるんで可能な人には難しいことではない。 >>200
ちょっとマヌケなところをツッコミ忘れたが、そんな作法はないよw
.bashrcを読み込むべき時と.bash_profileを読み込むべき時が違う >>200
export PATH="${HOME}/bin${PATH:+:${PATH}}
的なことを.bashrcに書くと、PATHがbash起動の毎に長くなって気持ち悪いとか。
あと、screenでログインシェルにしたけば、.screenrcに
shell -$SHELL
と書けばよい。 情報通信・機械・電気電子あたりの全ての分野を究めて大金持ちになりたい。 170です
なんとか形になりそうなのでご報告
T=`tty < /dev/ptym/clone`
N=`echo $T | cut -c 9-`
(… ; sleep 1) 2>&1 > /dev/pty$N &
tee -a log.log < /dev/tty$N
手探りで組んだので環境依存とかタイミング系の問題に弱そうです
改良点等あれば教えてください 天才的なF1ドライバーと天才的な数学者はどっちの方が凄いと思いますか? >>207 乙
T=`\tty < /dev/ptym/clone`
N=`\echo $T | \cut -c 9-`
(… ; \sleep 1) 2>&1 > /dev/pty${N} &
\tee -a log.log < /dev/tty${N}
細かいけど移植性考えるんだったら上みたいにコマンドの頭に BS 付加するとイイよ。(${N} は $N と一緒の意味)
一度とんでもないエイリアス(確か rm -f 系のコマンドを上書きしてた)を設定してるマシンでデータを消しかけた時があって,
それからは安全策としてシェルスクリプトに記述する全てのコマンドに BS 付けて alias が効かないようにしてる。 インタプリンタを三文字で略すときは、ipr か itp か inp どれが適切でしょうか。
私は ipr が良いと思います。他にこの形の省略になる用語は簡単に思い付かないですし。
皆さんの意見が聞きたいです。 internet daemonはinetd
UNIXの伝統に則ればinterに二文字も要らない >>212
たしかにまあ,そうなんですけどね
arg みたいにうまい具合に三文字に略せてる単語もあるので肖りたいと思いまして
あと,ここって ID ないんでトリップ推奨だと思ったんですがみんなしてないですね。 >>213
UNIX 関連の inter の略称を具体的に教えてていただくと助かります
とりあえず ipr にします。 170です
>210だとさらに不具合が出たのでまた改良しました
(>210は 2>&1の位置が間違ってるという凡ミスも)
(
T=`tty <&3`
N=`echo $T | cut -c 9-`
stty min 1 time 0 <&3
tee -a log.log <&3 &
K=$!
(…) >/dev/tty$N 2>&1 3<&-
kill -1 $K
) 3</dev/ptym/clone
+$?やtrapでのエラー処理やら
マスタとスレーブ入れ替えました。
というのも、>210の状態でtsetとtabsが呼ばれるとtabsが固まるという現象が起きました。
(OSのバグじゃないかしらん)
>>210
aliasって無効にできるの知りませんでした。
自分のとこの環境ルール的に勝手にaliasが増えたりはしない(し、全部にやるのはめんどくさい)ので
このままでいこうと思います。 >>218
ファイルディスクプリンタを3にしてるのには何か意味が?
8とかにしない理由を知りたい