トップページ
ひらく | たたむ | ページトップ
↓マウスで反転選択した文字を検索
Cygwin
   
ページ内検索 ページ外検索
検索したい文字を入力して
ENTERを押すと移動します。
\n
[ トップページ ]
[ ____CommandPrompt ] [ ____JScript ] [ ____MySQL ] [ ____Cygwin ] [ ____Java ] [ ____Emacs ] [ ____Make ] [ ____Perl ] [ ____Python ] [ ____OpenGL ] [ ____C# ] [ ____StyleSheet ] [ ____C++ ] [ ____Winsock ] [ ____Thread ] [ ____VisualStudio ] [ ____C ] [ ____Win32API ] [ ____Lua ] [ ____PhotoShop ]
ヘッダ検索
___

■ cygrunsrv


  DESC

   UNIX デーモンプログラムを 
   NT/2000/XP 上のサービスとして動作させるための
   サービススタータプログラム

___

■ サービス制御.コマンドラインMode

システムレジストリへの サービスのインストールや削除をします インストール済みのサービスの 起動と停止もできる
___

■ サービスの実行.デーモン化

Windows のサービス制御マネージャから呼び出される 特殊なエントリポイントからのみ実行されます ( 実装すべき関数があるということ ) コマンドラインから cygrunsrv をこのモードで動作させることは出来ません 「デーモン化」モードでは cygrunsrv は(「コマンドライン」モードで指定されたフラグに従って)環境を設定します cygrunsrv はターゲットとなるサービスが cygwin1.dll を簡単に見つけ出すことが出来るように 「/bin」を PATH の先頭に追加します (必要であれば)cygrunsrv は 標準出力、標準入力、標準エラー出力をログファイルや NT/W2K イベントログにリダイレクトします(イベントログへのアクセスはまだ実装されていません cygrunsrv はターゲットとなるデーモンを起動します
___

■ いろいろやってみた

  // -p で実行する Service( Pro ) を指定 
  // -a "foobar" で Service にわたす Arg を指定
  cygrunsrv -I foo -p /usr/bin/bash -a "foo.sh"

  // Service が起動したときの ENV を指定する
  cygrunsrv -I foo -p /usr/bin/bar -e HOME=/e/services -e TMP=/var/tmp


  ;; sshd.exe を Service として登録する
  cygrunsrv -I sshd -d "CYGWIN sshd" -p /usr/sbin/sshd -a "-D" -e "CYGWIN=ntsec"
___

■ ひさびさにはいってみた


  ;; cygwin にある ssh client を使う
  ssh localhost

  xxx@localhost's password xxx
  
  // netstat -n とすると sshd, ssh がつながっているのがわかります
  TCP    127.0.0.1:2263         127.0.0.1:23           ESTABLISHED

___

■ Command.一覧

cygrunsrv POINT "サービス" を見ながら確認するとわかりやすいです

  // 大文字, 小文字あります

  // install する
  cygrunsrv --install cron --path /usr/sbin/cron --args -D -e "PATH=/work/shellscript"


  // "cron" という service 名で /usr/sbin/cron.exe を登録
  cygrunsrv -I cron -u xxx -w "xxx" --path /usr/sbin/cron --args -D -e "PATH=$PATH"


  cygrunsrv -R cron 
  cygrunsrv -I cron -p /usr/sbin/cron --args -D -e "PATH=$PATH;d:/cygwin/bin"
  cygrunsrv -I cron -p /usr/sbin/cron --args -D -e "PATH=$PATH"
  cygrunsrv -I cron -p /usr/sbin/cron --args -D
  cygrunsrv -I sshd -p /usr/sbin/sshd --args -D -e "PATH=$PATH"

  * Warning: User mode mounts detected.  
  This will likely cause the service to fail to start.  

  You must have system mode mounts
  * in order to run services.  Re-run setup and choose 'All Users'
  * or consult the FAQ for more information.




  // Service を開始する
  cygrunsrv --start cron
  cygrunsrv -S cron


  // Service をとめる
  cygrunsrv --stop cron
  cygrunsrv -E cron


  // 動作しているかチェック
  cygrunsrv --query cron
  cygrunsrv -Q cron


  // Uninstall する ( Service 一覧から消えます )
  //     ( Service 名の指定は -I xxx の名前で )
  cygrunsrv --remove cron 
  cygrunsrv -R cron 


  // Help をみる
  cygrunsrv -h

  // ユーザ「xxx」アカウントとして動作するサービス sshd をインストールする
  cygrunsrv -I "xxx sshd" -p /usr/sbin/sshd -a '-D' -u xxx -w privy23

___

■ Option

http://www.amy.hi-ho.ne.jp/tachibana/cygwin/cron.html /// 指定した.PATH.をとおすには -e PATH=$PATH:/work/shellscript /// log を見るには /// Optional output file used for stdout redirection. Default is /var/log/< svc_name>.log. // stdout へ出力を見るには
















NINJAIDX 3