首页 > 系统相关 >Linux中进程相关的API

Linux中进程相关的API

时间:2023-09-02 12:45:30浏览次数:46  
标签:优先级 设置 获取 API 信号 Linux 进程

在Linux中,进程控制相关的API非常多。以下是一些常用的进程控制相关的系统调用(syscalls)和库函数:

  1. 创建和终止进程:

    • fork(): 创建一个新进程,这是创建新进程的最常用方法。
    • vfork(): 类似于fork(),但有一些差异,主要用于exec调用之前。
    • exec(): 系列函数(如execl(), execp(), execle(), execve(), execvp()),用于在当前进程上下文中执行一个新的程序。
    • exit(): 结束当前进程。
    • _exit(): 立即结束当前进程。
    • wait(): 等待子进程结束。
    • waitpid(): 等待指定的子进程结束。
  2. 进程属性:

    • getpid(): 获取当前进程的PID。
    • getppid(): 获取父进程的PID。
    • setpgid(): 设置进程组ID。
    • getpgid(): 获取进程组ID。
    • getpgrp(): 获取进程组。
    • setsid(): 创建新的会话。
  3. 信号:

    • kill(): 发送信号到指定进程。
    • signal(): 设置信号处理函数。
    • sigaction(): 详细设置信号处理行为。
    • pause(): 暂停进程直到收到一个信号。
    • sigprocmask(): 修改或检查被阻塞的信号集。
    • sigpending(): 获取当前阻塞的信号集。
  4. 进程调度和优先级:

    • nice(): 改变进程的执行优先级。
    • getpriority(): 获取进程的优先级。
    • setpriority(): 设置进程的优先级。
    • sched_setscheduler(): 设置进程的调度策略和优先级。
    • sched_getscheduler(): 获取进程的调度策略。
    • sched_yield(): 使当前进程放弃CPU,以便其他进程可以运行。
  5. 其他:

    • alarm(): 设置一个定时器,当定时器超时时会发送SIGALRM信号到进程。
    • sleep(): 暂停进程指定的秒数。
    • usleep(): 暂停进程指定的微秒数。
    • nanosleep(): 暂停进程指定的纳秒数。

以上只是与进程控制直接相关的一些基本API。在实际应用中,还有许多其他与进程相关的函数和工具。

标签:优先级,设置,获取,API,信号,Linux,进程
From: https://www.cnblogs.com/tangjicheng/p/17673556.html

相关文章

  • Linux安装fail2ban
    1、环境:centos7 2、安装fail2banyum-yinstallepel-release#epel库里就有fail2ban直接安装epel库就可以使用yum-yinstallfail2ban#安装fail2ban3、配置fail2ban贴上官方文档:http://www.fail2ban.org/wiki/index.php/MANUAL_0_......
  • Linux系统之jq工具的基本使用
    (Linux系统之jq工具的基本使用)一、jq工具介绍1.jq工具简介jq是一款轻量级的命令行json处理工具,可以帮助用户轻松处理json格式的数据。它可以从标准输入读取json数据,也可以从文件中读取。同时,它支持各种查询和过滤操作,例如选择、过滤、转换、排序和格式化等。2.jq工具的特......
  • linux shell脚本:创建数据库、数据库同名用户及赋权
    调用脚本如果mysql中已经有了一个mydb0831,会先drop掉,再创建一个空的mydb0831库,同时创建一个名为mydb0831的用户,对这个mydb0831库拥有所有权限。如果机器里未安装mysql,脚本执行会报错。可以从其他相同操作系统安装了mysql的机器里/usr/bin/下复制mysql过来,赋予可执行权限,即可。./cr......
  • springboot 引入swagger3.0 knife4j API
    1.引入依赖pom<properties><swagger-version>3.0.0</swagger-version><swagger-knife4j>3.0.3</swagger-knife4j></properties><parent><groupId>org.springframework.boot</groupId><artifactId>......
  • Linux文件系统及存储
                   ......
  • TCP KEEPALIVE以获得更好的POSTGRESQL体验进程
    如果您听说过TCPkeepalive但不确定它是什么,请继续阅读。如果您曾经对以下错误消息感到惊讶:serverclosedtheconnectionunexpectedlySSLSYSCALLerror:EOFdetectedunexpectedEOFonclientconnectioncouldnotreceivedatafromclient:Connectionresetbypeer......
  • 在linux上部署lavavel项目提示log目录没权限的问题
    Thestreamorfile"/data/www/laravel/storage/logs/laravel.log"couldnotbeopened:failedtoopenstream:PermissiondenieWeb服务器用户和组依赖于你的Web服务器和操作系统。找出你的Web服务器用户和组使用以下命令的内容。对于nginx使用: ......
  • Linux less 命令
    less与more类似,less可以随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页。语法less[参数]文件参数说明:-b<缓冲区大小>设置缓冲区的大小-e当文件显示结束后,自动离开-f强迫打开特殊文件,例如外围设备代号、目录和二进制文件-g只标志最后搜索的关键词-i忽略搜......
  • fastapi 的 TestClient 的 delete 方法如何传递请求体?
    在FastAPI的TestClient中,delete方法通常不适用于传递请求体(payload)。DELETE请求通常不允许发送请求体。不过,根据HTTP规范,您可以通过在URL中包含查询参数或使用params参数来传递参数。以下是使用FastAPI的TestClient进行DELETE请求时传递参数的示例:fromfastapi.testclientimportT......
  • Rocky_linux9网卡启动失败问题记录
    一、故障场景之前虚拟机一直是可以上网的,昨天正常关机后第二天开机网卡始终启动不了。开始排查问题查看网卡信息,发现获取不到IP地址查看网卡状态时发现处于未连接状态nmclicshow二、尝试启动网卡1)直接启用网卡nmclicupens37启动失败出现报错信息,连接激活失败,找不到适合此连接......