如何通過在Windows平臺上運行的COBOL代碼獲取進程ID或父進程ID?getpid在Windows平臺上的COBOL
回答
我回答的是以前的OpenCOBOL的GNU Cobol。
有一個叫 「C $ GETPID」 回整數值END-CALL
的股票庫的一部分。基本上,它調用GETPID()或_getpid()
如果沒有鏈接到標準C庫,但有機會獲得的Kernel32.dll,在WinAPI的具有GetCurrentProcessId()
謝謝,我已將kerner32.dll包含在我的項目(visual cobol-visual studio)中,然後下面的命令將我的進程ID提取給我 - 調用「GetCurrentProcessId」給出ProcessId,01 ProcessId pic s9(9)comp-5。 – user1085296
微焦點COBOL的用戶,你可以得到一個支持日誌,並聯系他們/他們的社區。
該鏈接建議對標準C函數getpid進行簡單的調用。
Obtaining the process ID for COBOL application
This article explains how to capture the process ID for the currently running COBOL application.
Problem:
How can the process ID (PID) within a running COBOL program be captured?
Resolution:
To capture the process ID for a currently running COBOL application, you can code a COBOL CALL statement to use the system function getpid(). The standard C libraries contain the function getpid(), which can easily be called/used from within a COBOL program.
Sample COBOL code fragments
Sample program fragment
Include the ctypes copy file from within the COBOL product directory as the first line in the COBOL program.
copy '$COBDIR/demo/c-cobol/ctypes.cpy'
WORKING-STORAGE SECTION
DATA DIVISION
Define the data item where the process id should be returned
01 current-pid long
PROCEDURE DIVISION
Call 'getpid' returning current-pid
The returned integer can be used as a part of temporary filenames, or to identify log file entries etc.
Old KB# 14408
感謝您的回覆......只有一個疑問,如果我在Windows平臺下運行此COBOL prog,這項工作是否會奏效? – user1085296
該鏈接表示Net Express/Server Express。如果您有更具體的Windows環境,我的答案是想讓您註冊Micro Focus並根據您的具體情況爲他們提供準確快速的支持。你標記了MicroFocus,所以我假設你有它。從COBOL接口到C非常簡單,大多數情況下它將按照Micro Focus示例中的說明工作。 –
- 1. Redis在windows平臺上
- 2. Windows平臺上的IP_TRANSPARENT
- 3. Universal WIndows平臺上的Mono.data.sqlite
- 4. VMS/VAX平臺上的COBOL源代碼分析工具
- 5. Windows平臺上的問題有關Windows平臺上的靜態庫
- 6. MongoDB是在Windows Azure平臺上Azure平臺
- 7. easy_install M2Crypto在Windows平臺上失敗
- 8. 如何在Windows平臺上使用Tarantool
- 9. JNA在Windows平臺上映射LPCSTR
- 10. Numpy.count_nonzero在64位Windows平臺上崩潰
- 11. 在windows平臺上使用libVLC for Android
- 12. 平臺「windows」
- 13. (非Windows)平臺
- 14. Windows Phone 7平臺上的IMSI?
- 15. Windows平臺上的音頻/視頻流
- 16. Windows平臺上的Wireshark Disscetor錯誤
- 17. 通用Windows平臺上的Type.GetTypeCode
- 18. Boot2Docker/Windows平臺上的圖支持
- 19. PInvoke在Windows Mobile平臺
- 20. Windows過濾平臺
- 21. 在一臺計算機上找不到Qt平臺插件「windows」
- 22. Windows Phone平臺的Encoding.ASCII.GetString()
- 23. Windows Azure平臺的缺點?
- 24. 如何在UNIX上使用C++信號,在Windows平臺上
- 25. 如何在Windows平臺上在Android上調試本機代碼
- 26. 在不同的平臺上
- 27. Windows CE平臺上的「控制檯應用程序窗口」
- 28. GCC在Windows平臺的設備
- 29. 連接從Node.js的DB2在Windows平臺
- 30. 有人從windows平臺上成功部署在heroku上嗎?
http://msdn.microsoft.com /en-us/library/windows/desktop/ms683215(v=vs.85).aspx和父進程ID,通常最好將其作爲參數傳遞,或者你必須枚舉進程,找到你的PID,檢查父PID ,並希望父進程尚未關閉,並重新使用其PID。 –