dポイントプレゼントキャンペーン実施中!

windowsのコマンドプロムプトからcpanシェルを起動しモジュールをインストールした際、cpanシェルをquit等で終了せずに、そのままコマンドプロムプトのウインドウを閉じました。再度cpanシェルを起動しようとしたところ、別のcpan processが実行中であると表示が出ます。その実行中のcpan processを終了させる方法をどなたかご存じありませんか。お手数ですが、ご回答の程よろしくお願いします。(コンピュータに詳しくありませんので、出来るだけ簡単に説明して頂ければ幸いです。)

再度cpanシェルを実行した際のプロムプト画面(一部"***"に書換えています):
--------------------------------------------------------------
C:\***>perl -MCPAN -e shell
Exiting subroutine via last at C:/Perl/lib/CPAN.pm line 1337.

There seems to be running another CPAN process (pid ***). Contacting...
Other job is running.
Shall I try to run in degraded mode? (Y/n) [y] n

You may want to kill the other job and delete the lockfile. On UNIX try:
kill ***
rm C:\Perl\cpan\.lock
--------------------------------------------------------------
以上です。

A 回答 (2件)

windows2000くらいから、tasklist.exe taskkill.exe という


外部コマンドが増えてますので、これを使うのも一つかと。
ただ、質問の文を読む限りでは、ロックファイルを削除するだけで
動いてくれそうな気がするんですがどうでしょう?

tasklist /?

TASKLIST [/S システム [/U ユーザー名 [/P [パスワード]]]]
[/M [モジュール] | /SVC | /V] [/FI フィルタ] [/FO 形式] [/NH]

説明:
このコマンド ライン ツールによってローカルまたはリモートのシステム
で実行されているアプリケーションと関連付けられたタスクまたはプロセスの
一覧が表示されます。

パラメータ一覧:
/S システム 接続するリモート システムを指定します。

/U [ドメイン\]ユーザー コマンドを実行するユーザー コンテキストを
指定します。

/P [パスワード] 提供されたユーザー コンテキストのパスワードを
指定します。省略された場合は、入力を要求します。

/M [モジュール] 指定されたパターン名に一致する DLL モジュールを
読み込んだすべてのタスクの一覧を表示します。モ
ジュール名が指定されない場合、それぞれのタスクに
よって読み込まれたすべてのモジュールを表示します。

/SVC それぞれのプロセスのサービスを表示します。

/V 詳細な情報を表示するように指定します。


/FI フィルタ フィルタによって指定された、与えられた条件に一致
するタスクを表示します。

/FO 形式 出力の形式を指定します。
有効な値: "TABLE", "LIST", "CSV"。

/NH 出力するときに、"カラム ヘッダー"を
表示しないように指定します。
"TABLE" と "CSV" のみ有効です。

/? ヘルプまたは使用法を表示します。

フィルタ:
フィルタ名 有効な演算子 有効な値
----------- --------------- --------------
STATUS eq, ne RUNNING | NOT RESPONDING
IMAGENAME eq, ne イメージ名
PID eq, ne, gt, lt, ge, le PID 値
SESSION eq, ne, gt, lt, ge, le セッション番号
SESSIONNAME eq, ne セッション名
CPUTIME eq, ne, gt, lt, ge, le hh:mm:ss の形式の
CPU 時間です。
hh は、時間、
mm は 分、ss は、秒です。
MEMUSAGE eq, ne, gt, lt, ge, le メモリ使用 (KB)
USERNAME eq, ne [ドメイン\]ユーザーの形式の
ユーザー名です。
SERVICES eq, ne サービス名
WINDOWTITLE eq, ne ウィンドウ タイトル
MODULES eq, ne DLL 名

例:
TASKLIST
TASKLIST /M
TASKLIST /V
TASKLIST /SVC
TASKLIST /M wbem*
TASKLIST /S システム /FO LIST
TASKLIST /S システム /U ドメイン\ユーザー名 /FO CSV /NH
TASKLIST /S システム /U ユーザー名 /P パスワード /FO TABLE /NH
TASKLIST /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running"

>taskkill /?

TASKKILL [/S システム [/U ユーザー名 [/P [パスワード]]]]
{ [/FI フィルタ] [/PID プロセスID | /IM イメージ名] } [/F]

説明:
このコマンド ライン ツールは、複数のプロセスを終了するために使われます。
プロセス ID またはイメージ名を使って終了できます。

パラメータ一覧:
/S システム 接続するリモート システムを指定します。

/U [ドメイン\]ユーザー コマンドが実行されるユーザー コンテキストを
指定します。

/P [パスワード] 提供されるユーザー コンテキストのパスワードを
指定します。省略された場合は、入力を要求します。

/F プロセスの強制終了を指定します。


/FI フィルタ フィルタによって指定された、与えられた条件に一致
するタスクを表示します。

/PID プロセスID 終了させるプロセスの PID を指定します。


/IM イメージ名 終了させるプロセスのイメージ名を指定します。
ワイルドカード '*' を使用してすべてのイメージ名を
指定できます。

/T ツリー削除: 指定したプロセスとそのプロセスが開始
したすべてのプロセスを削除します。

/? このヘルプまたは使用法を表示します。

フィルタ:
フィルタ名 有効な演算子 有効な値
----------- --------------- --------------
STATUS eq, ne RUNNING | NOT RESPONDING
IMAGENAME eq, ne イメージ名
PID eq, ne, gt, lt, ge, le PID 値
SESSION eq, ne, gt, lt, ge, le セッション番号です。
CPUTIME eq, ne, gt, lt, ge, le 次の形式の CPU 時間
hh:mm:ss
hh - 時間
mm - 分、ss - 秒
MEMUSAGE eq, ne, gt, lt, ge, le メモリ使用量 (KB)
USERNAME eq, ne [ドメイン\]ユーザー の形式の
ユーザー名です
MODULES eq, ne DLL 名
SERVICES eq, ne サービス名
WINDOWTITLE eq, ne ウィンドウのタイトル

注意: /IM スイッチのワイルドカード '*' は、フィルタと使うときのみ有効に
なります。

注意: リモート プロセスの終了は、/F オプションの指定したかどうか
にかかわりなく強制的に実行されます。

例:
TASKKILL /S system /F /IM notepad.exe /T
TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
TASKKILL /F /IM notepad.exe /IM mspaint.exe
TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
TASKKILL /S system /U domain\username /FI "USERNAME ne NT*" /IM *
TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"
    • good
    • 0
この回答へのお礼

丁寧なご回答を頂き、誠にありがとうございます。

まず、tasklistコマンド等を実行しましたが、目的のプロセスIDは見つかりませんでした。
次に、C:\Perl\cpan\.lock を削除し、再度CPANシェルを起動したところ見事に問題は解決致しました。

ご回答を頂き、大変ありがとうございました。

ロックファイル削除後:
---------------------------------------------------------------
C:\Documents and Settings\Owner>cpan
Exiting subroutine via last at C:/Perl/lib/CPAN.pm line 1337.

cpan shell -- CPAN exploration and modules installation (v1.9102)
ReadLine support enabled

cpan> quit
Lockfile removed.
---------------------------------------------------------------
以上。

お礼日時:2007/10/25 12:04

タスクマネージャを起動して、プロセスの一覧に


それっぽいの(perl.exe とか)がありませんか?

指定して「プロセスの終了」してみては。
    • good
    • 0
この回答へのお礼

早速ご回答を頂き、誠にありがとうございました。

目的のPIDを持ったプロセスは見つけることができませんでしたが、問題は無事解決致しました。

ご回答を頂き、誠にありがとうございました。

お礼日時:2007/10/25 12:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!