范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

字节一面,操作系统这题没答好,可惜了

  问题引入:
  在曾经我们学习Linux的经历中,我们也是多次使用信号的。比如:当我们在使用xshell时,在命令行中按Ctrl+c,这个键盘输入产生了一个硬件中断,被操作系统获取,解释成信号,发送给目标前台进程。前台进程因为收到了信号,进而引起进程退出。
  注意:Ctrl+C 产生的信号只能发给前台进程。一个命令后面加个&可以放到后台运行,这样Shell不必等待进程结束就可以接受新的命令,启动新的进程。Shell可以同时运行一个前台进程和任意多个后台进程,只有前台进程才能接到像Ctrl+C这样控制键产生的信号。前台进程在运行过程中用户随时可能按下Ctrl+C而产生一个信号,也就是说该进程的用户空间代码执行到任何地方都有可能收到SIGINT信号而终止,所以信号相对于进程的控制流程来说是异步(Asynchronous)的。  将进程设置为后台进程./进程名 &
  查看后台进程并将后台进程提至前台
  我们发现进程一旦被设置成为后台进程是无法杀掉的,此时在一直死循环的打印hello myproc.那么我们怎么杀掉这个进程呢?有一种方法是将后台进程设置成为前台进程,再使用ctrl +c 关闭。这种方法也比较好理解。因此哦我们在此处将使用这种方法关闭后台进程。
  首先我们要查看此时都有什么任务在执行,我们可以输入 jobs 来查看当前任务列表
  其次我们将这个进程提至提至前台,使用 fg 1 ,其中1是任务编号,也就是 [ ]+ 中的数字,注意fg 和 1之间需要带空格。
  将前台进程设置为后台进程
  我们刚刚知道了将后台进程提至前台使用 fg 任务号,f是front的意思。因此我们如果想把前台进程设置为后台进程,可以使用bg 任务号,我们可以来测试一下
  1.信号的概念
  信号是进程之间事件异步通知的一种方式,属于软中断。  2.查看信号列表
  使用kill -l 命令可以查看系统定义的信号列表
  每个信号都有一个编号和一个宏定义名称,这些宏定义可以在signal.h中找到,例如定义 #define SIGINT 2  编号34以上的是实时信号。在此我们只讨论编号34以下的信号,不讨论实时信号。这些信号各自在什么条件下产生默认动作是什么,在signal(7)中都有详细说明:man 7 signal  3.信号处理的常见方式
  由于信号产生时是异步的,当产生信号的时候,对应的进程可能正在做着更重要的事情,因此这个进程可以暂时不处理这个信号!进程正在做着更重要的事情说明进程可能不需要理解处理这个信号!但是不代表这个信号不会被处理。进程是一定要记住这个信号已经来了(信号有吗?什么信号?)。因此信号处理的常见方式有以下三种:  忽略此信号  执行该信号的默认处理动作  提供一个信号处理函数,要求内核在处理该信号时切换到用户态执行这个处理函数,这种方式成为捕捉信号(Catch)。  4.信号的产生
  我们在前面提到了我们现在只谈论1-31号信号。那么进程要处理一个信号,肯定是先描述,再组织。那么进程是如何记住这个信号的呢?当然是保存在进程的PCB中。由于我们只考虑1-31号进程,因此在进程的tast_struct中有一个uint32_t sig来表示信号。这里使用了位图的思想。什么信号产生我们使用的是比特位的位置。那么怎么判断有没有比特位的产生我们通过比特位的内容,1表示产生,0表示没有产生。因此一个uint_32足以表示1-31个信号了。
  而tast_struct是内核的数据结构,因此只有操作系统有权利获得进程的所有属性。所以进程的整个生命周期,无论信号怎么产生,只能是操作系统帮我们进行信号的设置。  用户层产生信号的方式通过终端按键产生信号
  产生信号的第一种方式是通过终端按键产生信号,也就是键盘。系统也为我们提供了一个signal函数,可以捕捉我们产生的信号,接下来我们将使用signal这个函数验证以下终端按键是可以产生信号的。
  SIGINT的默认处理动作是终止进程,SIGQUIT的默认处理动作是终止进程并且Core Dump.现在我们可以来验证以下。
  我们可以使用函数产生信号。我们可以使用signal函数向进程发送信号。
  其中handler是函数指针(回调方法),是可以让我们用户自定义处理信号的接口(处理信号的第三种方式)
  我们在C++代码中看看如何使用signal函数,在下面这段代码中,我们设置了如果进程接受到了SIGINT信号,就会调用handler函数从而输出指定内容。我们都是SIGINT是2号信号,键盘上按Ctrl +C 本质就是给前台进程发送2号信号,因此当进程跑起来的时候,我们按Ctrl + C时,程序会调用hanlder方法打印指定内容,我们来看看结果吧。  #include  #include  #include    using namespace std;   void handler(int signo) {     cout<<"我是一个进程,刚刚获取了一个信号,信号编号是: "< #include  #include    using namespace std;   void handler(int signo) {     cout<<"我是一个进程,刚刚获取了一个信号,信号编号是: "< #include  #include  #include  #include    #include    using namespace std;   void handler(int signo) {     cout<<"我是一个进程,刚刚获取了一个信号,信号编号是: "<(atoi(argv[2])),atoi(argv[1])) == -1)     {         cerr<<"kill :" < #include  #include  #include  #include    #include    using namespace std;   void handler(int signo) {     cout<<"我是一个进程,刚刚获取了一个信号,信号编号是: "< #include  #include  #include  #include  #include    #include    using namespace std;   void handler(int signo) {     cout<<"我是一个进程,刚刚获取了一个信号,信号编号是: "< #include  #include  #include  #include  #include    #include    using namespace std; int main(int argc,char* argv[]) {     alarm(3);//3秒后alarm     int cnt = 0;     while(true)     {         cout<< "我是一个进程 cnt : "< #include  #include  #include  #include  #include    #include    using namespace std; int cnt = 0; void handler(int signo) {     cout<<"我是一个进程,刚刚获取了一个信号,信号编号是: "<
骊住陶江已续约第六届进博会,紧抓由参展商变投资商的发展机遇11月5日至10日,第五届中国国际进口博览会在上海举行。记者注意到,今年是骊住集团第三次在进博会上参展。作为进博会的老朋友,在本次展会上,骊住集团以骊筑美好,创见永续未来为主题,聚居民71财富为房产,房子降价损失的不是财富而是人们奋斗的欲望中国财富报告显示,2022年城镇居民家庭房产净值占家庭人均财富的71。另外,截止2021年底,中国个人贷款累计为38。3万亿元,而43。3的城镇人群有贷款压力。但是我国80后90后度小满携手友成基金会乡村振兴领航员计划第二期落地湖南安化11月6日,由度小满和友成企业家乡村发展基金会(简称友成基金会)共同发起的乡村振兴领航员人才培养计划(第二期)在湖南省安化县落地,项目开启为期5天的培训,围绕经营管理短视频营销等课双十一再遇先涨价后降价?5年近八千条投诉信息,厘清大数据杀熟之谜各大电商平台双十一活动已经开始,部分直播间预售首日成交额便突破200亿。消费狂欢下,某些商品双十一先涨后降的怪象也引发关注,不少网友吐槽,这种情况太多了这是典型的杀熟啊。那么,杀熟提升高等教育与劳动力市场匹配度促进高校毕业生就业观点在当前的特殊背景下,促进高校毕业生就业,关键是要更加高效统筹好疫情防控与经济社会发展,激发市场主体活力,使经济增长稳定在合理区间,并不断强化就业优先政策。从长远来看,则要深化改双人成行NS版评测约瑟夫法里斯和他的合作游戏世界大家好,双人成行终于登陆NS了,这款游戏至今已经狂销700万,获得80多个奖项,更是2021TGA年度游戏,作为一个小型工作室来说,是非常了不起的成绩了。双人成行游戏类型动作冒险发双11三款价格捡漏的游戏本推荐满血3080都不要1万块了如今恰逢双11活动正热,相信有许多小伙伴都想着趁此机会更新一下自己手上的智能设备,给自己各种日常体验升升级。而对于想要入手游戏本的玩家而言,当前市面上琳琅满目的选择着实让人有点摸不购买InfortrendNVMeU。2全闪机型,免费获取软件许可InfortrendNVMeU。2全闪存解决方案,使得数据在企业的运营中发挥了巨大的作用。Infortrend普安科技GSU。2旗舰级全闪存搭载最新的IntelXeon处理器,采用价格大战卷起来!5K不到入手120HzOLED笔记本,同价位竞品尴尬了如果不是手上的笔记本电脑开始卡了,我还真的没有想法在双十一购买新的笔记本电脑,但奈何没有办法,卡顿已经开始影响到我个人正常的使用了。正好最近也有双十一期间有大促活动,想了想是时候让麒麟v10系列单用户模式起因因为操作系统有关键性文件被删除了,导致系统出现了问题,需要进行修复系统,这个时候只能进去单用户模式去修复,然后我安装centos系的方法重启按e,没想到需要输入账号密码,我输入秋冬高级感穿搭!MaxMara必入大衣系列解析要说秋冬最受欢迎的大衣,MaxMara必须拥有姓名!秋冬的气质穿搭真的还得是MaxMara,设计简约有型,一件大衣真的可以穿十年!给大家整理了MaxMara值得入手的秋冬系列单品,