进程的字段(完整列表请参阅 process.h 文件中 struct Lisp_Process 的定义)包括:
nameLisp 字符串,表示进程的名称。
command包含用于启动该进程的命令参数的列表。对于网络或串行进程,若进程正在运行则为 nil,若进程已停止则为 t。
filter用于接收进程输出的 Lisp 函数。
sentinel进程状态发生变化时会被调用的 Lisp 函数。
buffer进程关联的缓冲区。
pid整数类型,表示操作系统的进程 ID。 网络连接、串行连接等伪进程的该字段值为 0。
childp标志位,若该进程为真实子进程则为 t。对于网络或串行连接,该字段是基于 make-network-process 或 make-serial-process 参数的属性列表。
mark标记,指示进程最后一次输出插入到缓冲区中的末尾位置。该位置通常为缓冲区末尾,但并非绝对。
kill_without_query若非零值,在该进程仍运行时退出 Emacs 不会请求确认终止进程。
raw_status进程原始状态,由 wait 系统调用返回。
status进程状态,与 process-status 函数的返回值一致。该值为 Lisp 符号、序对或列表。
tickupdate_tick若这两个字段不相等,则需要通过运行哨兵函数或在进程缓冲区中插入消息来通知进程的状态变化。
pty_flag若非零值,表示与子进程通过伪终端(pty)通信;若为零值,则通过管道通信。
infd用于接收进程输入的文件描述符。
outfd用于向进程输出的文件描述符。
tty_name子进程使用的终端名称,
若使用管道通信则为 nil。
decode_coding_system用于解码进程输入的编码系统。
decoding_buf解码操作的工作缓冲区。
decoding_carryover解码过程中的残留数据大小。
encode_coding_system用于编码进程输出的编码系统。
encoding_buf编码操作的工作缓冲区。
inherit_coding_system_flag用于从进程输出的解码编码系统中设置进程缓冲区 coding-system 的标志位。
type表示进程类型的符号:real(真实进程)、network(网络进程)、serial(串行进程)。