情報科学屋さんを目指す人のメモ(FC2ブログ版)

何かのやり方や、問題の解決方法をどんどんメモするブログ。そんな大学院生の活動「キャッシュ」に誰かがヒットしてくれることを祈って。

ブログ内検索

スポンサーサイト このエントリーを含むはてなブックマーク

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スポンサー広告 | 編集
このエントリーをはてなブックマークに追加 Clip to Evernote

Adobe Reader X が不安定になる問題について このエントリーを含むはてなブックマーク

Adobe Reader Xをインストールしたら

Adobe Readerの更新をつい先日行い、Adobe Reader 9からAdobe Reader X (Adobe Reader 10)にしたところ、うまく動作しない(不安定)であることに気がつき、簡単にチェックしてみた。

WinShellからうまく呼び出せない

アップデートしたことにより、Adobe Readerへのパスが

C:\Program Files (x86)\Adobe\Reader 9.0\Reader\AcroRd32.exe

から、

C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe

に変わってしまったため、WinShellの設定をそれに合わせて変更しました。そして、WinShellのPDF Viewを実行するっと、Adobe Readerは確かに起動するのですが、一向に肝心の.pdfファイルが開かれません。そして、Adobe Readerには何も変化は起こらず、最終的に

Cannot start AcrobatReader or open the document. P`lease check on the exe file and cmd line of the PDFViewoptions.

と表示されていまいました。

なにかオプションが間違っているのかと思いましたが、Adobe Readerのオプションに該当するようなものはなく、困ってしまいました。

そこで、WinShellの公式ページを探してみると、フォーラムに「PDFView error with Adobe Reader X」という質問がありました。 これによると、「WinShell 3.3.2.3では解決済みである」ということがわかります。

そして、もう少し調べると、解決前のバージョンでも、次のようにすれば問題がないと言うことが分かりました。

プログラム名:PDFView
exeファイル名:cmd.exe
コマンドライン:/c start "C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe" "%s.pdf"
(「PDFLaTeXを先に実行」をチェックしない)

一瞬コマンドプロンプトが表示されてしまいますが、こうすることでちゃんとpdfファイルをWinShellから開くことが出来ます。

プロセスが大量発生する

PDFファイルをAdobe Reader Xで開いてみます。すると、Windowsタスクマネージャによれば、「AcroRd32.exe」のプロセスが二つ起動します。片方のプロセスには「--channel」オプションと「--type=renderer」オプションが付いているため、pdfの読込と描画を別プロセスが担当しているのかな、と思います。これ自体は別に問題ありません。

今開いたPDFファイルを開いたまま別のPDFファイルを開いてみます。すると、ここでも同様に二つのプロセスが起動します。

そして、今開いた(二番目に開いた)ほうのPDFファイルを閉じます。すると、なぜかプロセスが減りません。つまり、合計4つのプロセスが4つのままなのです。普通に考えて、後から起動した2プロセスは終了していてしかるべきです。

さらによくよく見てみると、その終了しないプロセスの「--channel」オプションが付いた方のプロセスが、CPUを50%(デュアルコアの片方のコアを丸ごと)使用してしまっているのです。

この時点で、4つのうちこのプロセスだけスレッド数が2で、他は7(or8)です。このことから、おそらく終了できないスレッドが残ってしまったのだと思われます。そしてこのまま延々と終了してくれません。1つめに開いたpdfがまだ開きっぱなしなので、それを終了することは出来るのですが、やはり先に終了したほうのプロセス二つは終了せずに残ってしまいます。

このように、pdfファイルを開いたり閉じたり繰り返すと、終了できなくなったプロセスが大量発生してしまいます。そして、全部のAdobe Readerのウィンドウを閉じたとしても、その大量のプロセスが生き残ってしまい、CPUとメモリ資源を使い続けます。

対策?

いまのところ、全く対策方法が分かりません。その場しのぎで、pdfを読むときにはChromeで開いていますChromeにドラッグアンドドロップするだけ。Adobe Readerのプラグインを使用せずに、独自のプログラムから表示してくれます(当然機能は見るだけと行った程度ですが)

他の対策として、これまた他のアプリケーションを使うだけですが、Foxit Readerを利用する手もあります。

Windows | コメント:0 | トラックバック:0 | 編集
このエントリーをはてなブックマークに追加 Clip to Evernote

この記事のコメント

コメントの投稿 エントリの新旧に関わらず、極力18時間中に返信します。














この記事のトラックバック

トラックバックURL:
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。