1.shell先后使用fork和exec系统调用来执行一个外部命令。

2.在linux系统中,有三个文件会被内核自动打开,分别是stdin、stdout、stderr。

3.进程的属性相关命令:

查看进程的属性 ps [options]

实时监视CPU的活动状态并且交互地控制这些进程 top命令

显示物理内存和swap分区的使用情况 free命令(非实时) 想要持续地监视 free -s 10

4.kill命令:

kill命令是通过向指定进程发送信号,操作系统根据信号来实现对指定进程如何操作。

kill [-signal_number] proc-list

命令kill -l 返回所有信号的号码以及名字的列表

缺省信号,代表终止进程

5.进程和作业的控制:

需要在Linux上执行一些需要很长时间才能完成的工作,而这些工作执行时,又希望做一些其他的工作,这时就要将命令放到后台去执行,通过在命令后加&实现。

作业是一个不运行于前台的进程,并且只能在关联的终端上。

使用fg命令把后台的进程转移到前台执行, fg [%jobID]

使用bg命令吧前台被挂起的命令转到后台后台继续执行,bg[%jobID]

使用jobs命令显示所有挂起的和后台进程的作业号,jobs [option] [%jobID]

6.linux的守护进程:

任何在后台执行的程序都可以称为守护进程,如lpd、smtpd、httpd、inetd

7.linux定时作业调度:

crond守护进程定期检查是否有要执行的作业,如有需要执行的作业吗,便会自动执行。crond守护进程用于检查/var/spool/cron目录中是否存在一个和用户名同名的crontab文件,检查其中列出的执行时间,并在适当的时间提交执行命令。

crontab命令用来创建、编辑、删除crontab文件,每一个用户都可以有一个crontab文件来保存调度信息,使用它运行任意一个shell脚本或者命令,隔一段时间运行一次。

crontab [-u user] -e(-l,-r)

crontab crontabname

crontab文件中每一条目(行)表示一个特定的时间运行作业,格式是:

minute hour day month weekday command

at命令允许用户向crond守护进程提交作业,使其在稍后的时间运行。

at -f at.sh 12:30

8.命令行中使用操作符:

command1;command2  --命令的顺序执行

command1&command2&  --命令的并发执行(也就是每个命令都在后台执行)

commond1&&command2  --只有前面的命令执行成功,后一条命令才执行

command1||command2  --只要一条命令执行成功,后面的命令就不执行了

command1|command2   --将command1的标准输出连接到command2的标准输入

9.linux系统启动、关闭和进程层次结构:

查看进程的层次关系,用ps -ef 命令和pstree命令。

用shutdown或halt命令关闭linux系统。

10.输入输出重定向:

command < filename

command > filename  --重定向可能覆盖文件,用command >> filename可避免,将输出添加到该文件末尾。

通过使用文件描述符,在bash、POXIS shell 中标准输入和标准输出能够分别使用 0<, 1>, 2>操作符来重定向, grep "Joson" students 1> output.out 2> output.err

注意: 在shell命令行的解析中,重定向操作按照从左到右的顺序进行,

sort 0< students 1> students.sort 2> students.err

sort 2>students.err 0< students 1> students.sort  两者的区别

cat ch1 ch2 ch3 1>
ch.out.err 2>&1

cat ch1 ch2 ch3 2> ch.out.err 1>&2   表示标准输出和错误输出都到一个文件中。

linux进程、管道和重定向的更多相关文章

  1. linux 学习管道 和重定向

    开源文化的理念之一 就是不要重新发明轮子 在linux 系统中大多是都是非常简单的命令,每个命令都是实现一个或者几个简单的功能,我们可以将不同的命令组合在一起 来达到复杂的功能的目的,在linux中因 ...

  2. Linux教程 - 管道和重定向

      管道和重定向! 保持数据流动 介绍   在前两节中,我们看了一些可以为我们操作数据的过滤器.在本节中,我们将看到我们如何将它们结合在一起来执行更强大的数据操作. 本节涉及一些阅读.即使这些机制及其 ...

  3. linux --stdin 管道 标准输入重定向

    linux --stdin 标准输入重定向 --stdin This option is used to indicate that passwd should read the new passwo ...

  4. linux文件管理之管道与重定向

    ============================================================== 内容提要: 输入输出重定向.管道: 重定向的作用: 文件描述符 0 1 2 ...

  5. Linux管道及重定向

    Linux管道及重定向 对shell有一定了解的人都知道,管道和重定向是 Linux 中非常实用的 IPC 机制.在shell中,我们通常使用符合'|'来表示管道,符号'>'和'<'表示重 ...

  6. linux管道和重定向

    管道 管道应该是等左边的程序执行完,才使用左边的程序的输出执行右边的程序. 但是在测试的时候,如果左边的程序无限循环且不等待的输出,那么左边的程序执行时右边的程序也会执行,个人感觉这是linux的机制 ...

  7. Linux基本配置和管理 2 ---- Linux多命令协作----管道及重定向

    1 管道和重定向 1 在Linux中大多数命令都很简单,很少出现复杂的命令,每个命令只是实现一个简单的功能,我们可以通过组合不同的命令来实现复杂的功能 2 在Linux中几乎所有的命令返回的数据都是纯 ...

  8. Linux进程通信----匿名管道

    Linux进程通信中最为简单的方式是匿名管道 匿名管道的创建需要用到pipe函数,pipe函数参数为一个数组表示的文件描述字.这个数组有两个文件描 述字,第一个是用于读数据的文件描述符第二个是用于写数 ...

  9. Linux入门基础 #9:管道及重定向

    本文出自   http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...

  10. Linux下管道重定向使用以及Shell编程(操作系统)

    实验名称:Linux的基本操作 实验目的: 1.了解管道和重定向 2.熟悉基本的Linux脚本的编写 实验环境:Ubuntu 12.4(32位,简体中文) 实验内容: 1.将当前用户目录下的文件清单输 ...

随机推荐

  1. Java中需要总结的几个问题

    慢慢总结,不然每次百度挺心烦的. 1. java文件的读写 2. String和StringBuffer的区别

  2. LeetCode OJ 88. Merge Sorted Array

    Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note:Yo ...

  3. 1.编写TextRw.java的Java应用程序,程序完成的功能是:首先向TextRw.txt中写入自己的学号和姓名,读取TextRw.txt中信息并将其显示在屏幕上。

    package zuoye; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; ...

  4. 浅谈C/C++结构体内存分配问题

    .wiz-todo, .wiz-todo-img {width: 16px; height: 16px; cursor: default; padding: 0 10px 0 2px; vertica ...

  5. HDU 5933/思维

    题目链接[http://acm.hdu.edu.cn/showproblem.php?pid=5933]; 题意: 给出n堆物品,问能不能分成K个数量相等的堆,如果能分,则最少次数是多少.分的规则为: ...

  6. NEU OJ 1644 Median I

    优先级队列 #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> ...

  7. 部署php项目

    1.不写端口号,即127.0.0.1,其隐含一个默认端口号80 2.查看当前占用的端口号 3.nginx修改工作路径,nginx修改端口号 4.查看端口号是否可访问telnet命令 在dos界面输入命 ...

  8. 错误记录-spring+mybatis

    1.Syntax error on token "String", @ expected 解决:去掉类名后的括号 ps:这错误太二了 2.The nested type UserS ...

  9. STM32F207 两路ADC连续转换及GPIO模拟I2C给MT9V024初始化参数

    1.为了更好的方便调试,串口必须要有的,主要打印一些信息,当前时钟.转换后的电压值和I2C读出的数据. 2.通过GPIO 模拟I2C对镁光的MT9V024进行参数初始化.之前用我以前公司SP0A19芯 ...

  10. 第三十一节,time时间模块

    模块简介 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要 ...