何となく Blog by Jitta
Microsoft .NET 考

目次

Blog 利用状況
  • 投稿数 - 761
  • 記事 - 18
  • コメント - 37042
  • トラックバック - 222
ニュース
  • IE7以前では、表示がおかしい。div の解釈に問題があるようだ。
    IE8の場合は、「互換」表示を OFF にしてください。
  • 検索エンジンで来られた方へ:
    お望みの情報は見つかりましたか? よろしければ、コメント欄にどのような情報を探していたのか、ご記入ください。
It's ME!
  • はなおか じった
  • 世界遺産の近くに住んでます。
  • Microsoft MVP for Visual Developer ASP/ASP.NET 10, 2004 - 9, 2011
広告

記事カテゴリ

書庫

日記カテゴリ

ギャラリ

その他

わんくま同盟

同郷

 

Mutexハンドルの強制終了(C# と VB.NET の質問掲示板)より:

Mutexのハンドルを、別プロセスから強制終了するにはどのようにしたらよいでしょうか?

そのアプリはVC++で作られているそうなのですが、ソースもなく担当者も現在いない状況です。

客先常駐の御用聞きPG的な業務のため、件の対応で運用が改善されるのであれば工数も頂けるので対応したいと思っております。

元々社内にいたPG好きの方が片手間な作ったもので、きちんとした工程で製造>納品されたものではなく、引き継げる人材がいない環境も考えられ仕方ないかと思っています。

なんて言うか、怖い。とっても、怖いよぉ...

まず、客先との業務形態。「偽装請負」のにおいがしますね...請負であれば、契約書が必要です。業務の発注は、リーダーを通して行わねばならず、下っ端に直接指示はできません。

次に、「開発元」が、開発したものを管理していない、という現状がかいま見えます。

さらに、客の無理を何とかできてしまったスーパー プログラマーが、契約とか何とか関係なしに「ホイホイ」と作り、会社がタッチすることなく「納品」してしまう。これの怖いところを自覚していないところが、何とも...終わってますね。

そして、機能が用意された目的を知らず、副作用を本来の目的と思っているように見えます。つまり、mutex は相互排他アクセスを行うための機構です。複数のプロセス(スレッド)が、同じリソースをアクセスする場合、一つのプロセスがリソースに書き込んでいるとき、読み取っているときに、他のプロセスが読み取ったり、書き込んだりすると、リソースの整合性が破綻します。Windows では、相互排他アクセスのための機構がいくつか用意されており、mutex はその一つです。アプリケーションの多重起動防止に mutex が使われるのは、この排他制御を応用(つまり、アプリケーション)に過ぎません。

もし、元のプログラムを作った人が、本来の意味、すなわち、何かのリソースへのアクセスをシーケンシャルにするために mutex を使っているなら、複数のプロセスで同時にリソース操作が発生しない限り、アプリケーションはあやしい動きを見せることなく、動作するでしょう。しかし、本来一つのプロセスからしかアクセスできないはずのリソースに複数のプロセスが同時にアクセスしたとき。このとき、アプリケーションがどうなるかは、実際にやってみないとわかりません。

知らなかったことは、そう悪いことではないと思います。誰だって、最初は知らないのですから。でも、知る機会を無にする、知ろうとしないことは、大きな罪ではないでしょうか。

投稿日時 : 2008年4月9日 21:40
コメント
  • # re: こわいよぉ...
    774RR
    Posted @ 2008/04/09 23:34
    いいぢゃん別に
    プログラムがクラッシュしようがSQLインジェクション脆弱性を作りこもうが
    困るのは本人であって俺たちぢゃないしー
  • # re: こわいよぉ...
    Jitta
    Posted @ 2008/04/10 7:29
    774RRさん、コメントありがとうございます。

    それを保守することにならなければ、ね(+o+)フルスクラッチしたい...
タイトル
名前
Url
コメント