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 = (evt: Object) => 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```