转自:http://digital.ni.com/public.nsf/allkb/29B079481C5ECE76862578810082394E
How Can I Find Out What Is Using a Busy or Reserved Serial Port?
Primary Software:
Primary Software Version: 5.0.3
Primary Software Fixed Version: N/A
Secondary Software: Driver Software>>NI-Serial
Hardware: Serial
|
Problem:
I have a program that is returning VI_ERROR_RSRC_BUSY
or other resource is busy error when trying to access a Serial (COM) port through VISA. How do I figure out what process is using the COM port?
Solution:
To find the process which is using the Serial (COM) Port, follow the steps below:
- Download the Process Explorer tool, which is linked in the related links section of this article.
- Navigate to Control Panel » Device Manager. In Device Manager navigate to Ports (COM & LPT) and right click and select Properties on the target serial port.
- Select the Details tab and click the Property field and change the value to Service. Write down the value that is listed here. In the example below (a NI USB-232), the service value is
NiSerU
. Note the value of this field for searching in Process Explorer.
- Open Process Explorer and you will see a screen similar to the image below.
- Select Find » Find Handle or DLL... in the menu. A new window will pop up and in the field Handle or DLL substring type in the value that was obtained from Device Manager, in this case
NiSerU
. - Click Search and the results will populate to show which process is using a the particular handle. For example in the search below, the USB-232 shows as
\Device\NiSerU1
being used byNIMax.exe
. From here you can tell which process is using the serial port resource.