cancel
Showing results for 
Search instead for 
Did you mean: 

実行中のプロセス名を取得したい

hajimemiyahira
Level 5
実行中の自身のプロセス名を取得する方法ってあるでしょうか?
(「プロセスAAA」というプロセスを実行中に、そのプロセス内で「プロセスAAA」という文字列を取得)

用途としては、実行結果メールなどの件名や本文に使いたいです。



利用しているBluePrismのバージョンはv6.6になります。
1 BEST ANSWER

Best Answers

お世話になっております。日商エレの西澤です。

計算ステージで実行中のプロセス名、取れたらいいな、と思うことありますよね・・・。

海隆一創の王さんも仰られていたように、データベースへのアクセスが許されるケースに
限定されますが、私は以下の方法を思いつきました。

1.計算ステージのgetSessionId()で、実行中のセッションIDを取得する
2.Blue Prismのデータベースから、SQLを使ってプロセス名を取得する

"select BPAProcess.name
from BPASession, BPAProcess
where BPASession.processid = BPAProcess.processid
and BPASession.sessionid = '" & [SessionID] &"'"

※[SessionID] は、データアイテムです。getSessionId()で取得したセッションIDを格納します。

これらをオブジェクト化しておき、プロセスから呼べば自身のプロセス名を呼び出せます。
(オブジェクト上でデバッグすると、オブジェクト名が取得されますが、プロセスから呼ばれるとプロセス名を返します。)

ご参考ください。

■オブジェクトサンプル
1895.png
■プロセス名の検索アクションの設定サンプル1896.png
■プロセスサンプル
1897.png


------------------------------
Satoshi Nishizawa
Digital Labor Consultant
Nissho Electronics Corporation
Asia/Tokyo
------------------------------

View answer in original post

8 REPLIES 8

ei.ou
Level 4
お疲れ様です。
(株)海隆一創の王です。

今すぐおもいだせるのは下記となります。
1892.png

更に、RuntimePC名等で絞り込みすることができます。
sql sever に接続必要があるので、セキュリティ上が許すのはご検討をお願いいたします。

以上


------------------------------
RONG WANG
IT
株式会社 海隆一創
Asia/Tokyo
------------------------------

すみません、上記sql文を訂正させて頂きます。statusidが0のは保留中のプロセスでした。
実行中のstatusidは1です。
1893.png


------------------------------
RONG WANG
IT
株式会社 海隆一創
Asia/Tokyo
------------------------------

お世話になっております。日商エレの西澤です。

計算ステージで実行中のプロセス名、取れたらいいな、と思うことありますよね・・・。

海隆一創の王さんも仰られていたように、データベースへのアクセスが許されるケースに
限定されますが、私は以下の方法を思いつきました。

1.計算ステージのgetSessionId()で、実行中のセッションIDを取得する
2.Blue Prismのデータベースから、SQLを使ってプロセス名を取得する

"select BPAProcess.name
from BPASession, BPAProcess
where BPASession.processid = BPAProcess.processid
and BPASession.sessionid = '" & [SessionID] &"'"

※[SessionID] は、データアイテムです。getSessionId()で取得したセッションIDを格納します。

これらをオブジェクト化しておき、プロセスから呼べば自身のプロセス名を呼び出せます。
(オブジェクト上でデバッグすると、オブジェクト名が取得されますが、プロセスから呼ばれるとプロセス名を返します。)

ご参考ください。

■オブジェクトサンプル
1895.png
■プロセス名の検索アクションの設定サンプル1896.png
■プロセスサンプル
1897.png


------------------------------
Satoshi Nishizawa
Digital Labor Consultant
Nissho Electronics Corporation
Asia/Tokyo
------------------------------

hajimemiyahira
Level 5
王様、西澤様
ご回答ありがとうございます。

そういう関数やアクションが標準で用意されているものかと思っていましたが、
DBからの取得になるのですね。
アクションを用意してみます。

宮平さん (@hajime miyahira)、こんにちは。

> そういう関数やアクションが標準で用意されているものかと ..

 リソースPCコマンド



------------------------------
Yoshihiro Masuda
Lead Solution Support Engineer
Blue Prism Global Customer Support
------------------------------

増田様

proclistコマンドを試しに実行してみましたが、全プロセスのリストが表示されました。

ちょっとよく分かっていないのですが、この中からどうやって自身のプロセス名を取得すればいいのでしょうか?
(プロセスAAAを実行中に、そのプロセス内で「プロセスAAA」という文字列を取得したいです。)

用途としてはプロセスの最後で完了通知(メール送信とか)があり、その中で以下の様なメッセージを送信したいです。

「プロセスAAAの処理が終了しました。」

宮平さん (@hajime miyahira)、こんにちは。

> プロセスAAAを実行中に、そのプロセス内で「プロセスAAA」という文字列を取得したいです。

proclistの代わりに、statusコマンドを実行してみてください。



------------------------------
Yoshihiro Masuda
Lead Solution Support Engineer
Blue Prism Global Customer Support
------------------------------

増田様

statusコマンドではプロセス名ではなく、セッションIDが取得でした。
現状、王様、西澤様のご提示いただいた内容で対応できていますので、そちらを採用させていただきます。