
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
こんにちわ。
#3 のmuyoshid です。
>> 起動したプログラムの先頭で、「setpgrp();」として下さい。
>> → プログラムが端末から切り離されます。
> 試して見たのですが、telnetを終了すると、起動したプロセスも
> 終了してしまいました。
あれま。
Unix 環境で daemon プログラムを作る時、いつもこれでやってた
んですが・・・。
ちょっと古い書き方だったかも知れません。
> これを、ユーザ権限内で動作させるには、/.bash_profile に
> コマンドを記述すれば良いのでしょうか。
思いつく方法として、2つ程
1) su - ユーザ名 -c "実行コマンド"
として、目的のユーザ権限で実行する。
2) 実行するコマンドを
chmod 04755 コマンド
chown ユーザ名 コマンド
としておけば、上記コマンドはコマンドのオーナー権限で
実行されます。
No.3
- 回答日時:
こんにちわ。
> telnetを抜けてもプロセスが動作し続けるためには
> どうしたら良いでしょうか。
起動したプログラムの先頭で、「setpgrp();」として下さい。
→ プログラムが端末から切り離されます。
> また、最終的には、PCのautoexeみたいに自動起動にしたいのですが、
> やりかたがわかりません。
#2 の方もおっしゃっていますが、/etc/rc.d になると思います。
こんにちは
御回答、ありがとうございます。
> > telnetを抜けてもプロセスが動作し続けるためには
> > どうしたら良いでしょうか。
> 起動したプログラムの先頭で、「setpgrp();」として下さい。
> → プログラムが端末から切り離されます。
試して見たのですが、telnetを終了すると、起動したプロセスも
終了してしまいました。
結局のところ、起動したプロセス自身が、daemonに変わることで、
端末からの制御をはなれ、telnetを抜けても、プロセスが残る様に
しました。
> > また、最終的には、PCのautoexeみたいに自動起動にしたいのですが、
> > やりかたがわかりません。
> #2 の方もおっしゃっていますが、/etc/rc.d になると思います。
こちらも試したのでが、うまくいきません。
状況は、#2の方のところに書きますので、もし、何かわかりましたら、
御回答をお願いします。
No.2
- 回答日時:
自動起動のほう
・システム起動時に動かしたいなら、RedHat系の場合
/etc/rc.d/rc.local
にコマンドを記述
・ユーザーがログインしたときに動かしたいなら
~/.bash_profile
に記述
・全てのユーザーに適用したいなら、
/etc/profile
に記述
などというのが、安直でよろしいかと。
Debian系などの場合は、他の方のフォローを待ちます。
この回答への補足
こんにちは
御回答、ありがとうございます。
自動起動は、システム起動時に行いたいので、/etc/rc.d/rc.local
に実行したいコマンド(プロセス)をフルパスで記述したのですが、
うまく動作しません。
コマンドの記述方法等で、注意事項等ありましたら教えてください。
実施後の状況を下記に示します。
また、メッセージキューを見ると、rc.localに追記したプロセス、
及び、それによって起動されたプロセスは、root権限で動作している様に
みえます。
これを、ユーザ権限内で動作させるには、/.bash_profile にコマンド
を記述すれば良いのでしょうか。
この方法だと、システム起動時に起動出来ないので、起動条件を満たさ
なくなりますか???
【実施後の状況】
ps -Aでプロセスの動作状態を見ると、rc.localに追記したコマンドの
プロセス名があり起動はされている。
rc.localに記述したプロセスは、他のプロセスを起動して、メッセージ
通信を行っているが、追加起動されるプロセス数はあっているが、名称が
親のままになっている。
ipcsでメッセージキューを見ると、追加起動されたプロセスのところで
溜まったまま処理されないで残っている。
【子プロセスの起動方法】
rc.localに追記したコマンドにて、
fork(); で、子プロセスを作成
execl( 子プロセス,"",NUL ); で起動したい子プロセスに変更
で、子プロセスを生成しています。
以上、宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(学校・勉強) この中で間違ってある説明はありますか?詳しい方に教えていただきたいです。 A. 1つのプログラムが複 2 2023/07/14 01:15
- Windows 10 バッチファイルでのエクスプローラー終了 1 2022/05/30 14:32
- Windows 10 Windows 10のエクスプローラーの表示が遅いのですが 4 2023/02/04 09:34
- 日本株 SBI証券HYPER SBI 2のエラー 1 2023/01/31 13:38
- Firefox(ファイヤーフォックス) firefoxが頻繁に停止する 1 2023/01/09 10:26
- 中古パソコン ツールをずっと起動させておくだけのPC 2 2022/06/10 02:10
- デスクトップパソコン windows7を使っているパソコンでの質問です。先日動作が遅く再起動かけると「windowsを起動 9 2022/06/16 21:31
- その他(パソコン・周辺機器) 2つのPCを行き来する 2 2022/06/15 01:59
- BTOパソコン 数時間使用しない状態からPCを起動に失敗後、 自動修復画面で再起動をすると正常に動き出す 3 2022/09/26 22:01
- デスクトップパソコン 「自動修復でPCを修復できませんでした」と表示されPCが起動しないのですが対処法はありますか? 5 2022/05/13 09:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
_access関数が EACCES エラーと...
-
ラズパイ3でsocket接続できない。
-
バッチスクリプト処理でエラー...
-
Javaのイベントリスナー機能の応用
-
Apache2が起動しません
-
コンソールアプリの起動結果待...
-
VBでExcelが起動されているか知...
-
system関数について
-
sshdコマンドへのpathの貼りかた
-
クリーンインストール
-
バッチファイル内置換
-
exeファイルの実行結果をテキス...
-
illustratorを日本語仕様にする...
-
ソフトのインストール場所って...
-
gccでx11コンパイル
-
PHPでGDを使うには
-
Apacheでのaccess_logの設定
-
VPC2004で動作確認済Linux
-
CentOSで操作ログを取得するコ...
-
エクセルVBA 実行時エラー 5029...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチスクリプト処理でエラー...
-
バッチファイルで多重起動を防ぐ
-
VBでExcelが起動されているか知...
-
コンソールアプリの起動結果待...
-
Linux環境変数設定(putenv?se...
-
プリンタの状態を知る方法
-
Open Office Org 急に起動しな...
-
「応答なし」の状態を監視する方法
-
PC起動後に・・・
-
Javaのイベントリスナー機能の応用
-
Apache2が起動しません
-
system関数について
-
パソコン のデータ 特にPDFを消...
-
_access関数が EACCES エラーと...
-
Web Developerが正常にインスト...
-
PostgreSQLについて
-
CreateProcessでコンソールアプ...
-
ラズパイ3でsocket接続できない。
-
OLEサーバコンポーネントを作っ...
-
MySQLへのDB::connectで、faile...
おすすめ情報