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