zoukankan      html  css  js  c++  java
  • What's different between Ctrl+Z and Ctrl+C in Unix command line?

    I'm using Mac OS X Terminal. And I use Ctrl+Z or Ctrl+C to stop some programs. But I realized that I don't know what they're exactly doing. What are they and what's the difference between them?

    Control+Z is used for suspending a process by sending it the signal SIGSTOP, which cannot be intercepted by the program. While Control+C is used to kill a process with the signal SIGINT, and can be intercepted by a program so it can clean its self up before exiting, or not exit at all.

    If you suspend a process, this will show up in the shell to tell you it has been suspended:

    [1]+  Stopped                 yes

    However, if you kill one, you won't see any confirmation other than being dropped back to a shell prompt. When you suspend a process, you can do fancy things with it, too. For instance, running this:

    fg

    With a program suspended will bring it back to the foreground.

    And running the command

    bg

    With a program suspended will allow it to run in the background (the program's output will still go to the TTY, though).

    If you want to kill a suspended program, you don't have to bring it back with fg first, you can simply do the command:

    kill %1

    If you have multiple suspended commands, running

    jobs

    will list them, like this:

    [1]-  Stopped                 pianobar
    [2]+  Stopped                 yes

    Using %#, where # is the job number (the one in square brackets from the jobs output) with bgfg, or kill, can be used to do the action on that job.

    make a summary:

    Ctrl + Z 

     pause a job 暂停任务
    Ctrl + C  terminates a job 终止任务
  • 相关阅读:
    [JSOI2008]巨额奖金(最小生成树计数)
    [HAOI2008] 糖果传递
    [SCOI2009]生日快乐
    BZOJ2821 作诗
    [HAOI2008]圆上的整点
    POJ1741
    AC自动机
    [JSOI2008]星球大战starwar
    二分图有关证明(感性版)
    初识Pentaho(一)
  • 原文地址:https://www.cnblogs.com/bridgestone29-08/p/7354099.html
Copyright © 2011-2022 走看看