• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.process (获取进程相关的信息)
2
3获取进程相关的信息,提供进程管理的相关功能。
4
5> **说明:**
6>
7> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8
9
10## 导入模块
11
12```ts
13import process from '@ohos.process';
14```
15
16
17## 属性
18
19**系统能力:** SystemCapability.Utils.Lang
20
21| 名称 | 类型 | 可读 | 可写 | 说明 |
22| -------- | -------- | -------- | -------- | -------- |
23| uid | number | 是 | 否 | 进程的用户标识。 |
24| pid | number | 是 | 否 | 当前进程的pid。 |
25| tid<sup>8+</sup> | number | 是 | 否 | 当前线程的tid。 |
26
27
28## EventListener
29
30**系统能力:** SystemCapability.Utils.Lang
31
32| 名称 | 说明 |
33| -------- | -------- |
34| EventListener&nbsp;=&nbsp;(evt: &nbsp;Object)&nbsp;=&gt;&nbsp;void | 用户存储的事件。 |
35
36
37## process.isIsolatedProcess<sup>8+</sup>
38
39isIsolatedProcess(): boolean
40
41判断进程是否被隔离。
42
43**系统能力:** SystemCapability.Utils.Lang
44
45**返回值:**
46
47| 类型 | 说明 |
48| -------- | -------- |
49| boolean | 返回判断结果,如果进程被隔离则返回true,否则返回false。|
50
51**示例:**
52
53```js
54let result = process.isIsolatedProcess();
55```
56
57
58## process.is64Bit<sup>8+</sup>
59
60is64Bit(): boolean
61
62判断运行环境是否64位。
63
64**系统能力:** SystemCapability.Utils.Lang
65
66**返回值:**
67
68| 类型 | 说明 |
69| -------- | -------- |
70| boolean | 返回判断结果,如果运行环境是64位则返回true,否则返回false。|
71
72**示例:**
73
74```js
75let result = process.is64Bit();
76```
77
78
79## process.getStartRealtime<sup>8+</sup>
80
81getStartRealtime(): number
82
83获取从系统启动到进程启动所经过的实时时间(以毫秒为单位)。
84
85**系统能力:** SystemCapability.Utils.Lang
86
87**返回值:**
88
89| 类型 | 说明 |
90| -------- | -------- |
91| number | 返回经过的实时时间。单位:毫秒|
92
93**示例:**
94
95```js
96let realtime = process.getStartRealtime();
97```
98
99## process.getPastCpuTime<sup>8+</sup>
100
101getPastCpuTime(): number
102
103获取进程启动到当前时间的CPU时间(以毫秒为单位)。
104
105**系统能力:** SystemCapability.Utils.Lang
106
107**返回值:**
108
109| 类型 | 说明 |
110| -------- | -------- |
111| number | 返回经过的CPU时间。单位:毫秒|
112
113**示例:**
114
115```js
116let result = process.getPastCpuTime() ;
117```
118
119
120## process.abort
121
122abort(): void
123
124该方法会导致进程立即退出并生成一个核心文件,谨慎使用。
125
126**系统能力:** SystemCapability.Utils.Lang
127
128**示例:**
129
130```js
131process.abort();
132```
133
134
135## process.uptime
136
137uptime(): number
138
139获取当前系统已运行的秒数。
140
141**系统能力:** SystemCapability.Utils.Lang
142
143**返回值:**
144
145| 类型 | 说明 |
146| -------- | -------- |
147| number | 当前系统已运行的秒数。 |
148
149**示例:**
150
151```js
152let time = process.uptime();
153```
154
155
156## process.kill<sup>(deprecated)</sup>
157
158kill(signal: number, pid: number): boolean
159
160发送signal到指定的进程,结束指定进程。
161
162> **说明:**
163>
164> 从API version 7开始支持,从API version 9开始废弃,建议使用[kill<sup>9+</sup>](#kill9)替代。
165
166**系统能力:** SystemCapability.Utils.Lang
167
168**参数:**
169
170| 参数名 | 类型 | 必填 | 说明 |
171| -------- | -------- | -------- | -------- |
172| signal | number | 是 | 发送的信号。 |
173| pid | number | 是 | 进程的id。 |
174
175**返回值:**
176
177| 类型 | 说明 |
178| -------- | -------- |
179| boolean | 信号是否发送成功。如果信号发送成功则返回true,否则返回false。|
180
181**示例:**
182
183```js
184let pres = process.pid
185let result = process.kill(28, pres)
186```
187
188
189## process.exit<sup>(deprecated)</sup>
190
191exit(code: number): void
192
193终止程序。
194
195请谨慎使用此接口,此接口调用后应用会退出,如果入参非0会产生数据丢失或者异常情况。
196
197> **说明:**
198>
199> 从API version 7开始支持,从API version 9开始废弃,建议使用[exit<sup>9+</sup>](#exit9)替代。
200
201**系统能力:** SystemCapability.Utils.Lang
202
203**参数:**
204
205| 参数名 | 类型 | 必填 | 说明 |
206| -------- | -------- | -------- | -------- |
207| code | number | 是 | 进程的退出码。 |
208
209**示例:**
210
211```js
212process.exit(0);
213```
214
215
216## process.getUidForName<sup>(deprecated)</sup>
217
218getUidForName(v: string): number
219
220根据指定的用户名,从系统的用户数据库中获取该用户uid。
221
222> **说明:**
223>
224> 从API version 8开始支持,从API version 9开始废弃,建议使用[getUidForName<sup>9+</sup>](#getuidforname9)替代。
225
226**系统能力:** SystemCapability.Utils.Lang
227
228**参数:**
229
230| 参数名 | 类型 | 必填 | 说明 |
231| -------- | -------- | -------- | -------- |
232| v | string | 是 | 用户名。 |
233
234**返回值:**
235
236| 类型 | 说明 |
237| -------- | -------- |
238| number | 返回用户uid。|
239
240**示例:**
241
242```js
243let pres = process.getUidForName("tool")
244```
245
246
247## process.getThreadPriority<sup>(deprecated)</sup>
248
249getThreadPriority(v: number): number
250
251根据指定的tid获取线程优先级。
252
253> **说明:**
254>
255> 从API version 8开始支持,从API version 9开始废弃,建议使用[getThreadPriority<sup>9+</sup>](#getthreadpriority9)替代。
256
257**系统能力:** SystemCapability.Utils.Lang
258
259**参数:**
260
261| 参数名 | 类型 | 必填 | 说明 |
262| -------- | -------- | -------- | -------- |
263| v | number | 是 | 指定的线程tid。 |
264
265**返回值:**
266
267| 类型 | 说明 |
268| -------- | -------- |
269| number | 返回线程的优先级。优先级顺序取决于当前操作系统。 |
270
271**示例:**
272
273```js
274let tid = process.tid;
275let pres = process.getThreadPriority(tid);
276```
277
278
279## process.isAppUid<sup>(deprecated)</sup>
280
281isAppUid(v: number): boolean
282
283判断uid是否属于应用程序。
284
285> **说明:**
286>
287> 从API version 8开始支持,从API version 9开始废弃,建议使用[isAppUid<sup>9+</sup>](#isappuid9)替代。
288
289**系统能力:** SystemCapability.Utils.Lang
290
291**参数:**
292
293| 参数名 | 类型 | 必填 | 说明 |
294| -------- | -------- | -------- | -------- |
295| v | number | 是 | 应用程序的uid。 |
296
297**返回值:**
298
299| 类型 | 说明 |
300| -------- | -------- |
301| boolean | 返回判断结果,如果是应用程序的uid则返回true,否则返回false。|
302
303**示例:**
304
305```js
306let result = process.isAppUid(688);
307```
308
309
310## process.getSystemConfig<sup>(deprecated)</sup>
311
312getSystemConfig(name: number): number
313
314获取系统配置信息。
315
316> **说明:**
317>
318> 从API version 8开始支持,从API version 9开始废弃,建议使用[getSystemConfig<sup>9+</sup>](#getsystemconfig9)替代。
319
320**系统能力:** SystemCapability.Utils.Lang
321
322**参数:**
323
324| 参数名 | 类型 | 必填 | 说明 |
325| -------- | -------- | -------- | -------- |
326| name | number | 是 | 指定系统配置参数名。 |
327
328**返回值:**
329
330| 类型 | 说明 |
331| -------- | -------- |
332| number | 返回系统配置信息。 |
333
334**示例:**
335
336```js
337let _SC_ARG_MAX = 0
338let pres = process.getSystemConfig(_SC_ARG_MAX)
339```
340
341
342## process.getEnvironmentVar<sup>(deprecated)</sup>
343
344getEnvironmentVar(name: string): string
345
346获取环境变量对应的值。
347
348> **说明:**
349>
350> 从API version 8开始支持,从API version 9开始废弃,建议使用[getEnvironmentVar<sup>9+</sup>](#getenvironmentvar9)替代。
351
352**系统能力:** SystemCapability.Utils.Lang
353
354**参数:**
355
356| 参数名 | 类型 | 必填 | 说明 |
357| -------- | -------- | -------- | -------- |
358| name | string | 是 | 环境变量名。 |
359
360**返回值:**
361
362| 类型 | 说明 |
363| -------- | -------- |
364| string | 返回环境变量名对应的value。 |
365
366**示例:**
367
368```js
369let pres = process.getEnvironmentVar("PATH")
370```
371
372
373## ProcessManager<sup>9+</sup>
374
375提供用于新增进程的抛异常接口。
376
377通过自身的构造来获取ProcessManager对象。
378
379### isAppUid<sup>9+</sup>
380
381isAppUid(v: number): boolean
382
383判断uid是否属于当前应用程序。
384
385**系统能力:** SystemCapability.Utils.Lang
386
387**参数:**
388
389| 参数名 | 类型 | 必填 | 说明 |
390| -------- | -------- | -------- | -------- |
391| v | number | 是 | 应用程序的uid。 |
392
393**返回值:**
394
395| 类型 | 说明 |
396| -------- | -------- |
397| boolean | 返回判断结果,如果是应用程序的uid则返回true,否则返回false。|
398
399**示例:**
400
401```js
402let pro = new process.ProcessManager();
403let result = pro.isAppUid(688);
404```
405
406
407### getUidForName<sup>9+</sup>
408
409getUidForName(v: string): number
410
411根据指定的用户名,从系统的用户数据库中获取该用户uid。
412
413**系统能力:** SystemCapability.Utils.Lang
414
415**参数:**
416
417| 参数名 | 类型 | 必填 | 说明 |
418| -------- | -------- | -------- | -------- |
419| v | string | 是 | 用户名。 |
420
421**返回值:**
422
423| 类型 | 说明 |
424| -------- | -------- |
425| number | 返回用户uid。|
426
427**示例:**
428
429```js
430let pro = new process.ProcessManager();
431let pres = pro .getUidForName("tool");
432```
433
434
435### getThreadPriority<sup>9+</sup>
436
437getThreadPriority(v: number): number
438
439根据指定的tid获取线程优先级。
440
441**系统能力:** SystemCapability.Utils.Lang
442
443**参数:**
444
445| 参数名 | 类型 | 必填 | 说明 |
446| -------- | -------- | -------- | -------- |
447| v | number | 是 | 指定的线程tid。 |
448
449**返回值:**
450
451| 类型 | 说明 |
452| -------- | -------- |
453| number | 返回线程的优先级。优先级顺序取决于当前操作系统。 |
454
455**示例:**
456
457```js
458let pro = new process.ProcessManager();
459let tid = process.tid;
460let pres = pro.getThreadPriority(tid);
461```
462
463
464### getSystemConfig<sup>9+</sup>
465
466getSystemConfig(name: number): number
467
468获取系统配置信息。
469
470**系统能力:** SystemCapability.Utils.Lang
471
472**参数:**
473
474| 参数名 | 类型 | 必填 | 说明 |
475| -------- | -------- | -------- | -------- |
476| name | number | 是 | 指定系统配置参数名。 |
477
478**返回值:**
479
480| 类型 | 说明 |
481| -------- | -------- |
482| number | 返回系统配置信息。 |
483
484**示例:**
485
486```js
487let pro = new process.ProcessManager();
488let _SC_ARG_MAX = 0;
489let pres = pro.getSystemConfig(_SC_ARG_MAX);
490```
491
492
493### getEnvironmentVar<sup>9+</sup>
494
495getEnvironmentVar(name: string): string
496
497获取环境变量对应的值。
498
499**系统能力:** SystemCapability.Utils.Lang
500
501**参数:**
502
503| 参数名 | 类型 | 必填 | 说明 |
504| -------- | -------- | -------- | -------- |
505| name | string | 是 | 环境变量名。 |
506
507**返回值:**
508
509| 类型 | 说明 |
510| -------- | -------- |
511| string | 返回环境变量名对应的值。 |
512
513**示例:**
514
515```js
516let pro = new process.ProcessManager();
517let pres = pro.getEnvironmentVar("PATH");
518```
519
520
521### exit<sup>9+</sup>
522
523exit(code: number): void
524
525终止程序。
526
527请谨慎使用此接口,此接口调用后应用会退出,如果入参非0会产生数据丢失或者异常情况。
528
529**系统能力:** SystemCapability.Utils.Lang
530
531**参数:**
532
533| 参数名 | 类型 | 必填 | 说明 |
534| -------- | -------- | -------- | -------- |
535| code | number | 是 | 进程的退出码。 |
536
537**示例:**
538
539```js
540let pro = new process.ProcessManager();
541pro.exit(0);
542```
543
544
545### kill<sup>9+</sup>
546
547kill(signal: number, pid: number): boolean
548
549发送signal到指定的进程,结束指定进程。
550
551**系统能力:** SystemCapability.Utils.Lang
552
553**参数:**
554
555| 参数名 | 类型 | 必填 | 说明 |
556| -------- | -------- | -------- | -------- |
557| signal | number | 是 | 发送的信号。 |
558| pid | number | 是 | 进程的id。 |
559
560**返回值:**
561
562| 类型 | 说明 |
563| -------- | -------- |
564| boolean | 信号是否发送成功。如果信号发送成功则返回true,否则返回false。 |
565
566**示例:**
567
568```js
569let pro = new process.ProcessManager();
570let pres = process.pid;
571let result = pro.kill(28, pres);
572```