查找负责“错误:锁不可用”的PID

时间:2019-02-12 08:25:56

标签: sas

在UNIX系统上,如果持有文件锁,则错误消息包含PID,例如:

ERROR: A lock is not available for XXX.XXXX.

ERROR: Lock held by process 4653302.

对于Windows,不提供有罪程序。有没有办法找出谁锁定了桌子?我无法登录计算机,但是服务器确实启用了XCMD。

首先,FILELOCKWAIT选项在这里没有帮助(这是一个长期运行的锁)。

编辑:我不是管理员,因此无法下载第三方工具

1 个答案:

答案 0 :(得分:1)

wmic几乎提供了Windows上您想要的一切。

win32_process会告诉您(如果您的帐户具有正确的策略设置)有关谁在运行什么的所有信息。找到SASers并打电话给他们?

示例:Proc IMPORT无法读取管道,因此请先将wmic的输出保存到文件中。

%let wmic_cmd = wmic path win32_process where "description like '%nrstr(%%sas.exe%%)'";

filename whosas pipe 
   "%superq(wmic_cmd) get /format:csv | findstr /r /v ""^$"" > c:\temp\wmic_whosas.txt"
;

data _null_;
  infile whosas;
  input;
run;

proc import dbms=csv datafile="c:\temp\wmic_whosas.txt" replace out=whosas;
run;

应该为您提供有关每个SAS流程的47条信息。

如果您没有权限,则IT部门必须授予他们许可,否则他们最终会经常与您联系:)