[FreeBSD-users-jp 96451] Re: rc.local
Tomoaki AOKI
junchoon @ dec.sakura.ne.jp
2019年 9月 13日 (金) 10:49:43 UTC
青木@名古屋です。
rc.localを使う場合、たぶん先頭に
. /etc/rc.conf
を入れる必要があったと思います。 が、いつまでサポートされるかは
分かりませんので、rc.d用の方でいくと、先頭のコメントブロックの
2行目以降に
# PROVIDE picogw
# REQUIRE DAEMON
を入れると正常になったりしませんか?
これらは単なるコメントではなく、rc.dのスクリプトの起動順を
決めるために必須だったと思います。
「# PROVIDE pigcow」は「pigcowというサービスを提供します」
「# REQUIRE DAEMON」は「動作にはDAEMONというサービスが必要です」
という意味になります。
もしかすると、pigcowに依存するサービスが今後ともあり得ないなら
「# PROVIDE」の行は無くても支障ないかもしれませんが...。
なお、pigcowの動作のためにシステムデーモンとして動作する
何らかのサービス(# REQUIRE DAEMONを指定しているサービス)が
必要な場合、
# REQUIRE DAEMON
の代わりに
# REQUIRE LOGIN
としてみて下さい。 特定のサービスが分かっている場合、例えば
ftpd (/rtc/rc.d/ftpd) さえ動いていればいい場合、
# REQUIRE ftpd
でいける筈です。 複数あれば同じ行にスペース区切りで列記すれば
設定できます。 このあたり、nodeの動作条件を把握していませんので...
ここまではrc.dスクリプトの「お作法」の領分(最悪、/usr/localが
/から独立したパーティションの場合、これがマウントされる前に
起動しようとして失敗する等の原因になり得る)ですが、これだけで
駄目なら、
command="/usr/local/bin/picogw"
を
command="daemon /usr/local/bin/picogw"
にすればいけるかもしれません。
daemonコマンドのオプションはman optionで調べて適宜
必要なものを設定して下さい。
多分、ここまで必要になりそうな気がします。
On Fri, 13 Sep 2019 16:44:52 +0900
"kouya" <kouya @ ryuhoku.jp> wrote:
> 少し痴呆が入りかけた老人です。
>
> OS FreeBSD ah45.pv.ryuhoku.jp 12.0-RELEASE-p10 FreeBSD 12.0-RELEASE-p10
> GENERIC amd64 です。
>
> /etc/rc.local
> ------------------此処から-------------------
> #
> /usr/local/bin/picogw &
> #
> ------------------此処まで-------------------
>
> 問題なのは reboot しても rc.local に書いた が起動しない事です。
>
> OS 起動後 console で /etc/rc.d/local start とtypeすると picogw が起動し
> console に戻り
> 問題なく動いています。
>
> どこかに /usr/local/etc/rc.d を使いなさい、見たいなことが書いてあったので。
>
> /usr/local/etc/rc.d に picogw として
> ------------------此処から-------------------
> #!/bin/sh
> #
> . /etc/rc.subr
> name="picogw"
> rcvar="picogw_enable"
> command="/usr/local/bin/picogw"
> load_rc_config $name
> run_rc_command "$1"
> #
> ------------------此処まで-------------------
> を登録
>
> /etc/rc.conf に
> ------------------此処から-------------------
> picogw_enable="YES"
> ------------------此処まで-------------------
>
> で再起動すると、picogw は起動するが、console を放さない為、
> 後のサービスが、起動しない。
>
> /usr/local/bin/picogw の内容 link -->
> /usr/local/lib/nod_module/picogw/bin/picogw
> ------------------此処から-------------------
> #!/usr/bin/env node
> const forever = require('forever-monitor');
> // Sometimes, npm i -g target directory is missing from module search path.
> // So set this script module path as current path.
> let pi = __filename.lastIndexOf('node_modules');
> let pathstr;
> if( pi == -1 ){
> pathstr = require('path').dirname(__filename);
> } else {
> pathstr = __filename.substring( 0,pi )+'node_modules';
> }
> const child = new
> (forever.Monitor)(require.resolve('picogw'),{cwd:pathstr,args:process.argv});
> child.start();
> ------------------此処まで-------------------
> #!/usr/bin/env node の行を node --> /usr/local/bin/node に変更
>
> 申し訳ありません、どこの間違いか、見当が付きません、ご教授願えたら幸いです。
>
> /etc/rc.local で起動出来るのが良いのですが。
>
> ??? なんか rc 変ですね
> moused 止めようと moused_enable="NO" で駄目 moused_type="NO" で停止?
>
> 八代市昭和同仁町948
>
> 浦口 耕也
>
> _______________________________________________
> freebsd-users-jp @ freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp
> To unsubscribe, send any mail to "freebsd-users-jp-unsubscribe @ freebsd.org"
--
青木 知明 [Tomoaki AOKI] <junchoon @ dec.sakura.ne.jp>
freebsd-users-jp メーリングリストの案内