• 締切済み

プロンプトが返らない

UNIXのKtermを開いて、あるシェルを実行したのですが、 実行後、プロンプトが返って来ません。 KtermにてCNTL+D、CNTL+C、Delete等を押しても 効きません。 プロンプトが返ってくるのと返らないのでは、システム的にどのような違いがあるのでしょうか?

みんなの回答

  • Fooky
  • ベストアンサー率71% (59/82)
回答No.2

> プロンプトが返ってくるのと返らないのでは、 > システム的にどのような違いがあるのでしょうか? 何通りか考えられると思います。 1つは、実行したプログラム内でCtrl-Cを無視するように してある場合です。ディストリビューションにくっついてくる 一般的なコマンドでは余りそういうことは無いように思いますが、 Ctrl-Cを無視するようにプログラム内で設定することは可能です。 もう一つは、プログラムがOSから強制的にスリープさせられて いる場合です。ディスクなどのデバイスの読み込み・書き込みの 順番待ち、メモリ領域確保(に異常があってメモリが確保できない)、 ネットワーク接続要求に対する応答待ちなどの理由で、 これらの要求をOSに出したプログラムがOSから「ちょっと待て」 と言ってスリープさせられることがあります。 通常の状態では起こりませんが、ディスクなどデバイスの異常、 AGPなど特殊なメモリドライバの異常、ネットワーク接続先ホストが停止、 ネットワーク障害、などでこのような状態になることがあります。 psコマンドでプロセスの状態を見たときに、状態が"D"になっていると OSからの強制スリープ状態です。 Ctrl-Cで止まらないプロセスに対しては、 kill -9 xxxx (xxxxはpsコマンドで調べたプロセスのプロセスID) killall -9 process_name (process_nameはプロセスの名前) で止められることが多いです。(ただ、後者の場合、同じ名前の プロセスが全部止まります。) 他にもいくつか理由はあると思われます。

  • natural
  • ベストアンサー率37% (419/1115)
回答No.1

シェルスクリプトの実行がきちんと終了していないのではないでしょうか。 ためしにもう一つKtermを起動してpsコマンドを実行してください。 プロセスが残っているようでしたらスクリプトの再確認をしましょう。 ちなみにプロンプトが返ってこない状態というのはフォアグラウンドのプロセスが終了していない状態で、次のコマンドが入力できないという弊害がありますね。 #Ctrl+Cが効かないとなると永久ループにはまっているのかもしれません。

shikata_dawa
質問者

お礼

ありがとうございます。助かります。

関連するQ&A

  • コマンドプロンプトの拡張

    UNIX系であればコマンド実行にTeraTermなどを使用していますが、Windowsでコマンド実行する際は標準のコマンドプロンプトを使用しています。 ですがコマンドプロンプトは非常に使いにくいです。 そこでコマンドプロンプトのコンソールを拡張したような何かいいソフトウェアはありませんでしょうか? 尚、Cygwinの存在は知っていますがもう少し手軽に使いたいと考えています。  どうぞよろしくお願いします。

  • コマンドプロンプトについて

    コマンドプロンプトのコマンドで、特定のラインから終わりのラインまでの実行コマンドや実行結果をテキスト等に吐きだすことのできるのコマンドがありましたら教えて下さい。 (SQLで言うところのスプールみたいなものです。) 例 C:\>○○○ ←(開始) C:\>DIR C:\ のディレクトリ 2001/12/18 14:57 <DIR> WINNT 2002/06/26 20:26 <DIR> PrintAgent C:\>●●● ←(終了) 上の例だと、○~●の間の行がテキストに吐き出される形となります。 SQLやUNIXでは可能な操作なので、あるとは思うのですが・・・ もし、ご存知の方いましたら宜しくお願いします!

  • コマンドプロンプト

    Windows Update 実行後の不要なバックアップファイルを消去するには、管理者プロンプトから DISM/online/cleanup-image/spsuperseded と入力実行すれば良い、との事なので、 コマンドプロンプトを管理者で立ち上げると、プロンプトが C:\windows\system32> となったので上記のコマンドを入力・実行したところ エラー87 online/cleanup-image/spsuperseded は不明なオプションです。 と表示される。 上記のコマンドを実行するにはどうすれば良いのか教えて下さい。

  • コマンドプロンプト

    スタートメニューのアクセサリからコマンドプロンプトを実行すると C:\WINDOWS\system32\cmd.exe ReadProcessMemory要求または WriteProcessMemory要求の一部だけを完了しました。 と出てコマンドプロンプトが起動されないんですがどうすればいいんでしょうか?

  • コマンドプロンプトとDOSプロンプトの違い

    最近のOSにはDOSプロンプトがなくなり、コマンドプロンプトがふぞくしていますが、具体的にはどのような違いがあるのですか? 私はプロンプトにてプログラムのコンパイルから実行をしているだけなので、違いがよくわからないのです。よろしくお願いします。 そもそもDOSプロンプトとはどのような目的で作られたのでしょう?

  • コマンドプロンプトの書き方

    windows8でリフレッシュのシステムイメージを製作する方法で、 http://support.microsoft.com/kb/2748351/ja コマンドプロンプトにCドライブに作る場合は recimg CreateImage C:\Refreshimage と書き込むとあります。 私はDドライブに作ろうかと思っていますので recimg CreateImage D:\Refreshimage と書き込めば良いわけですよね。 で、コマンドプロンプトを開くと Microsoft Windoes[Version6.2.9200] (c)2012Microsoft Corporation.All rights reserved. C:\Users\ABCDEFG> となっていますがC:\Users\ABCDEFG>の後にrecimg CreateImage D:\Refreshimageと書き込むのでしょうか、どう書き込めばよいのでしょうか。 宜しくおご指導願いします。

  • シェルとカーネルについて。

    UNIX等ではシェルとカーネルの概念は有名ですが、Windowsにもシェルとカーネルの概念があると聞きましたが、具体的にはどの機能(?)がシェルに当たるのでしょうか? UNIXとかならシェルはコマンドラインの命令をカーネルに伝える、というのでなんとなく分かるのですが、Windowsでは基本的にはGUIで操作するのでどこがシェルなのかな?と疑問に思います。 (コマンドプロンプトで実行する際はWindowsでのシェルの役割が何となく認識できますが) どなたか分かる方、ご意見・ご回答お願いします。 (乱文ですいません)

  • unix初心者です

    unixで使用するシェルはBシェル、Cシェル、Kシェル等あると思いますが、 これらの代表的なシェルについての特徴、違いについて教えてください。 よろしくお願いします。

  • コマンドプロンプトについて詳しい方 2

    コマンドプロンプトについて詳しい方 下記サイト URLに少し下がったあたりに https://mebee.info/2020/04/17/post-9589/ で少し下がると Apacheインストール 「コマンドプロンプトを管理者として実行します。」とあり、やり方が書いてあるのですが、 自分のコマンドプロンプトを管理者として起動させた直後のカレントディレクトリは「C:¥windows¥system32」となっているのですが、この画面にURLにあったコード以下のように入力したのですが、 付属画像のように cd C:\Apache24\bin とhttpd.exe -k installをそのまま入力してのですが、「指定されたパスが見つかりません。」と出てしまいます。 自分のコマンドプロンプトにあ書いてある C:¥windows¥system32を消して、 cd C:\Apache24\bin とhttpd.exe -k installをそのまま入力するということでしょうか? C:¥windows¥system32が消そうとしても消えません。何かやり方が間違っているのでしょうか? ちなみにCドライブ内にはちゃんとファイルは保存してあります。

  • dosでPerl実行時にPOSTデータを持たせて実行したい

    DOSでPerlを実行するときに、フォームのデータ(POST)をコマンドプロンプトからCGIに渡したいのですが、どうすればいいでしょうか?UNIX系OSならシェルでセットしますよね?DOSではどうすればいいでしょうか?