プログラミングとLinuxに詳しい人教えて

0pt   2018-12-06 12:52
ITエンジニアのまとめ

1: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 20:12:58.495 ID:4nZaberl0

プロセスをデーモン化する方法は分かったんだがその後特定のイベントを待つ処理ってどうやればいいの?
例えば
while(True):
while(True):
if イベントがあったら:
break
処理~

って感じだと常にwhile回っててものすごい負荷かかるよね
普通はどうやるの

2: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 20:18:05.455 ID:4nZaberl0 もうかしてこれが正解なのか

 

4: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 20:19:52.065 ID:r8u+S01U0 >>2
ちゃんとコマンドある

 

3: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 20:19:28.775 ID:r8u+S01U0 知ってるけど秘密

 

5: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 20:22:12.039 ID:4nZaberl0 おっぱい揉ませてあげるから教えて

 

6: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 20:23:07.321 ID:r8u+S01U0 >>5
嘘つきには教えたくない

 

9: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 20:29:33.702 ID:HyVdSc2D0 入力受付状態にしときたいってことでしょ?
あれだよんとね…えっと……

 

11: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 20:31:01.386 ID:r8u+S01U0 >>9
シグナルと入力待ちは違うだろ
入力待ちなら標準入力から読み込めば入力されるまで勝手に待ってる

 

10: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 20:30:37.050 ID:9rsinTAJ0 ミューテックスかコンディションかシグナルかって話?

 

12: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 20:32:32.683 ID:qetsN3Sn0 プロセスをデーモン化するってそんなやり方じゃない県

 

13: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 20:33:51.584 ID:+CP5xdq20 forkして親を殺してtty切り離すんだぞ

 

14: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 20:34:12.945 ID:4nZaberl0 ググろうにもググる単語が分からんからヒントだけでもありがたい

 

16: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 20:35:31.693 ID:9rsinTAJ0 selectじゃダメなん?

 

17: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 20:35:41.730 ID:+CP5xdq20 1.forkして親プロセスを終了、自動的にinitの子となる
2.setsid()で制御端末を切り離す
3.カレントディレクトリを/ ルートへ
4.標準入出力、エラー出力をnull、厳密にはcloseする

 

18: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 20:38:27.228 ID:QSjTzmD3d ソケット通信ならLISTEN

 

20: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 20:40:19.924 ID:4nZaberl0 selectってシステムコールのやつ?これでもできるのかな…
というかイベントを限定しないと解決しない気がしてきた
あるファイルに特定の文字列が書き込まれた時、だとしたらどうするのが得策なんだろう

 

22: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 20:41:58.072 ID:+CP5xdq20 >>20
inotifyじゃダメな理由は?

 

23: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 20:43:33.600 ID:r8u+S01U0 >>20
そんな素人の疑問かよ
常識過ぎる知識だから教えてやろう
パイプで調べりゃ出てくるかと

 

21: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 20:40:53.903 ID:r8u+S01U0 入力待ちじゃなくてシグナル待ちだろ?
入力待ちなら読み取るデータが届いてなければ勝手に待ってるから簡単

 

26: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 20:53:18.341 ID:Ihg5Ujmj0 wait

 

27: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 21:02:02.579 ID:KavwZBi9p もしかしてpipeを開いてreadしたら何かあるまで待ってくれるのか

 

29: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 21:03:26.826 ID:r8u+S01U0 >>27
そうだが
そんなのも知らないレベルでよくデーモンにできたと感心する

 

28: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 21:03:19.911 ID:KavwZBi9p ヒントにはなったけど監視する対象がファイルだとどう使うんだ…

 

30: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 21:04:19.263 ID:r8u+S01U0 >>28
パイプも普通のファイルも
UNIXの世界じゃ単なるファイル

 

31: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 21:05:09.538 ID:KavwZBi9p pipeはreadしたら待つけど普通のファイルだとreadしたらその時点の内容を取得してしまうのでは

 

32: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 21:06:33.929 ID:r8u+S01U0 >>31
ファイルを開きっぱなしにすればいいだろ

 

33: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 21:06:38.764 ID:brzIpRVHa Node.jsならOSシグナル拾えるだろ

 

34: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 21:07:47.266 ID:9Ifi0vNIM ソースコード呼んでこいよ

 

35: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 21:10:02.113 ID:KavwZBi9p もしかしてファイルの終端までいくと待ってくれる?

 

36: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 21:11:47.208 ID:r8u+S01U0 >>35
不明瞭だけど不正解っぽいな
実際に試して確認しな

 

37: 以下、5ちゃんねるからVIPがお送りします 2018/11/09(金) 21:16:36.953 ID:brzIpRVHa デーモンで無限ループは流石にない 引用元

http://viper.2ch.sc/test/read.cgi/news4vip/1541761978/

管理人からひと言

ほかのデーモンソースをコピペ・・・

?me_id=1303781&item_id=10097847&m=https%

遊戯王 デーモンの召喚 RB-03 ウルトラ【ランクB】【中古】
価格:80円(税込、送料別) (2018/11/17時点)

rl.svg

   ITアンテナトップページへ
情報処理/ITの話題が沢山。