Files
playbook/docs/tsl/codegen/dotnet/runtime/system_process.md
T

17 KiB
Raw Blame History

运行时 / 系统与进程

sysdbfread(alias, file_name, value, is_col_info)

读取本地DBF格式数据文件的内容,或者读取本地DBF格式数据文件的结构定义。

参数 类型 说明
alias string 字符串类型,目录别名。
file_name bool 字符串类型,文件名称。
value string object
is_col_info bool object

返回:bool

sysdbfwrite(alias, file_name, value, col_info)

将数据导出为DBF的格式的数据文件。

参数 类型 说明
alias string 字符串类型,目录别名。
file_name array 字符串类型,文件名称。
value string 输出的数据内容,必须有字符串列名。
col_info array 数组,数据导出的结构定义,若缺省则和exportfile的行为一致,采用自动判别类型。

返回:bool

sysErrorMessage(code)

返回指定代码表示的系统错误信息。

参数 类型 说明
code int 整数,提示代码

返回:string

sysexec(prog, cmdline, startupdir, wait, code, waitms, return_value)

创建子进程执行操作系统命令。在指定目录下使用指定文件执行指定命令。指定目录可以为nil;指定命令可以为字符串,比如”py -V”,也可以为数组,比如array(“py”,”-V”)。 注:本定义方式功能只在新一代客户端版本中支持。 旧版本中用户请参考函数原定义说明:FAQ:SysExec 另外,关于code中返回的退出码(返回码),即为子进程终止时通过SysTerminate传递出来的退出码,当无此命令时,默认为0。

参数 类型 说明
prog string 字符串,执行命令的文件所在路径。
cmdline string 字符串或数组,命令行命令。 例如:tsl abcd.tsl,也可以分割的数组,例如array(“tsl”,”abcd.tsl”)
startupdir string NIL或字符串,执行命令时所处的目录路径。
wait bool object
code array 数值或数组,输出参数,进程的退出码。当存在管道输出且采用阻塞方式运行进程时, code为数组,下标”code”为返回码,”out”下标是运行的进程的标准输出里输入的内容。 另,在阻塞模式下,当等待超时的情况下,也还可以使用SysexecReadpipe读取后续输出的信息。
waitms int 正整数,可选参数,等待阻塞的毫秒数。
return_value any 数值,进程句柄。

返回:int

sysexecreadpipe(process_handle)

获得指定进程所在管道的输出内容。参数缺省时,获得默认管道的输出内容。 在阻塞式运行sysexec的情况下,可以直接获得内容,在非阻塞式运行外部进程的时候,需要多次进行循环读取输出。

参数 类型 说明
process_handle any 数值,可选参数,进程句柄。

返回:string

sysexecsetenvs(envs, addsysenv)

重新设置子进程的环境变量,使得子进程与主进程的环境变量不一样,应用于Sysexec创建的子进程。不设置的情况下子进程的环境变量与主进程一致。

参数 类型 说明
envs array nil
addsysenv 0|1|2 1\

返回:int

sysExecWritePipe(content)

向指定进程所在管道写入输入内容。参数缺省时,向默认管道写入输入内容。 管道的长度是有限的,当管道长度被占用了,需要等待空间被释放后再进行(即时读取管道信息可以被释放),即它是一个阻塞式的过程。

参数 类型 说明
content string 字符串,输入内容。比如输入”=quit\r\n”可以退出当前进程

返回:int

sysGetFuncdepends(fun, flag, cfuninfo, binclassinfo)

获取目标函数或类的依赖关系。 可以用于查找用户函数、公用函数与本地函数的依赖,但无法查找系统函数。当查找本地函数时,函数文件后缀必须是.tsf。 服务器执行时,由于权限问题,返回结果可能并不完整。用户可以使用本地执行或者rdo2执行来获取完整的依赖信息。

参数 类型 说明
fun TFUNCTION 查找依赖的函数或者类
flag int 整型,缺省值为0,查找的依赖关系类型如下(若多选时,可以将相应取值相加后传入):
cfuninfo 依赖不检查子函数,仅通过函数调用等规则查找依赖 数组,输出值,返回依赖的二进制函数信息
binclassinfo 显示所有被依赖的子函数,缺省只显示主函数 数组,输出值,返回依赖的二进制类信息

返回:funInfo

sysGetPidOfCom(obj)

获得COM对象对应的进程ID,由于com的限制,仅当进程ID<65535才有效,一旦返回值为65535表示进程ID超过65535。

参数 类型 说明
obj ComObj Com对象。

返回:int

sysGetProcessCmdLine(pid, return_value)

获取指定进程的执行命令行

参数 类型 说明
pid int 整数,进程ID
return_value string 获取成功,返回指定进程的执行命令;否则,返回空字符串

返回:string

sysGetProcessCmdLinew(pid, return_value)

获取指定进程的cmd执行命令,返回结果为宽字节字符串

参数 类型 说明
pid int 整数,进程ID
return_value int 获取成功,返回指定进程的cmd执行命令,格式为宽字节字符串;否则,返回空字符串

返回:string

sysGetProcessNamePath(pid, return_value)

获取指定进程路径,若无法获得路径返回进程的名称

参数 类型 说明
pid int 整数,进程ID
return_value string 获取成功,返回指定进程路径,若无法获得路径返回进程的名称;否则,返回空字符串

返回:string

sysGetProcessNamePathw(pid, return_value)

获取指定进程路径,返回结果为宽字节字符串

参数 类型 说明
pid int 整数,进程ID
return_value int 获取成功,返回指定进程路径,格式为宽字节字符串;否则,返回空字符串

返回:string

sysGetProcessPriority(pri, pid, return_value)

获取进程优先级

参数 类型 说明
pri int 变参,整数,进程优先级
pid int 整数,可选参数,进程ID。未指定时默认获取当前线程优先级
return_value int 返回值为0,获取成功;否则,获取失败

返回:int

sysGetThreadName(tid, return_value)

获取线程名称

参数 类型 说明
tid int 整数,可选参数,线程ID。未指定时默认获取当前线程名称
return_value string 获取成功,返回线程名称;否则,返回空字符串

返回:string

sysGetThreadPriority(pri, tid, return_value)

获取线程优先级

参数 类型 说明
pri int 变参,整数,线程优先级
tid int 整数,可选参数,线程ID。未指定时默认获取当前线程优先级
return_value int 返回值为0,获取成功;否则,获取失败

返回:int

sysGetThreads(pid, return_value)

获取进程内的线程列表

参数 类型 说明
pid int 整数,可选参数,进程ID。未指定时默认获取当前进程内的线程列表
return_value array 获取成功,返回线程ID列表;否则,返回空数组

返回:array

sysHandleOfPid(pid, rights, inherithandle, return_value)

Windows上获取进程id对应的句柄,Linux上获取指定文件ID的复制ID。得到的句柄可用函数FAQSysCloseHandle进行关闭。

参数 类型 说明
pid int 整数,进程ID
rights int 整数,可选参数,设置进程句柄权限,Linux上无效。常见的权限设置值如下: 更多说明,可参考微软官方文档:处理安全和访问权限
inherithandle bool 布尔值,可选参数,是否继承,Linux上无效
return_value 16 获取成功,返回进程句柄;否则,返回0

返回:IntPtr|int

sysKill(pid, code, return_value)

终止进程。在WINDOWS上,和FAQSysTerminate不同之处是,SysTerminate参数为进程句柄,SysKill参数是进程ID。LINUX上两者一致

参数 类型 说明
pid int 整数,进程ID
code int 整数,可选参数,终止进程返回的代码
return_value bool object

返回:bool

sysPidOfHandle(handle, return_value)

根据进程句柄获取进程ID。在Linux上,返回和进程句柄值相同的整数

参数 类型 说明
handle int 进程句柄
return_value int 获取成功,返回进程ID;否则,返回0

返回:int

sysPidOfTid(tid, return_value)

获取线程所属进程ID

参数 类型 说明
tid int 整数,线程ID
return_value int 获取成功,返回进程ID;否则,返回0

返回:int

sysPPid(pid, return_value)

获得进程的父进程ID

参数 类型 说明
pid int 整数,可选参数,进程ID。未指定时默认获取当前进程的父进程ID
return_value int 获取成功,返回父进程ID;否则,返回0

返回:int

sysSetProcessPriority(pri, pid, return_value)

设置进程优先级

参数 类型 说明
pri int 整数,进程优先级
pid int 整数,可选参数,进程ID。未指定时默认设置当前进程优先级
return_value int 返回值为0,设置成功;否则,设置失败

返回:int

sysSetThreadName(name, tid, return_value)

设置线程名称

参数 类型 说明
name string 字符串,要设置的名称
tid int 整数,可选参数,线程ID。未指定时默认设置当前线程名称
return_value int 返回值为0,设置成功;否则,设置失败

返回:int

sysSetThreadPriority(pri, tid, return_value)

设置线程优先级

参数 类型 说明
pri int 线程优先级
tid int 可选参数,线程ID。未指定时默认设置当前线程优先级
return_value int 返回值为0,设置成功;否则,设置失败

返回:int

syssettsllibpath(path_list)

设置函数库查找路径(支持分号分隔的多个目录)。

参数 类型 说明
path_list array 路径列表字符串(分号分隔)

返回:string

sysWaitForSingleObject(object, wait_ms)

等待占有一个对象,例如互斥对象。支持windows和linux的进程

参数 类型 说明
object int 整数,对象名柄
wait_ms int 整数,等待的毫秒数,-1则为永远等待。

返回:int