linux操作系统-小知识点总结1

来源:互联网 发布:人物传记 知乎 编辑:程序博客网 时间:2024/06/01 20:49

1, fork

int main{    fork() || fork()}

其中一共创建了几个进程?

首先fork()函数有两个返回值,返回给子进程0,返回给父进程为子进程的id。

在这个main()函数中,首先执行左边的fork(),左边的fork返回一个非零值,根据 || 运算符的短路原则,所以前面的表达式为真时,后边的表达式不在执行。故包含main的这个主进程创建了一个子进程。

由于子进程会复制父进程,而且子进程会根据其返回值继续执行,也就是,在子进程中,左边的fork()返回值为0,所以右边的fork()也要执行,这个子进程又创建了一个进程。

main()进程 - 子进程 - 子进程创建的子进程
总结三个进程。

题目很巧妙。将fork返回值和 || 逻辑操作一块考察。以后遇到 || && 这类操作需要非常注意。

2,/etc/fstab文件中指定的文件系统加载参数

  • defaults : 表示使用默认配置
  • sw : 表示自动挂载的可读写分区
  • ro : 表示挂载只读权限
  • rw : 表示挂载读写权限
  • noauto :表示设备分区只能手动挂载。

3, crontab命令

crontab命令,用于设置周期性被执行的指令,该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。crontab存储的指令被守护进程激活,crond常常在后台运行。每一分钟检查是否有预定的作业是否需要执行。这类作业一般称为cron jobs

命令格式:
分  时  日  月  周  命令
第1列表示分钟1~59 每分钟用或者 /1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

* 表示
第1列时:表示每分钟都要执行一次,
第2列时:表示每小时都要执行一次,依次类推,

4,linux关机重启的命令

shutdown
shutdown -r now 是立即停止然后重新启动,shutdown命令可以安全地关闭或重启linux系统,它在系统关闭之前给系统所有登录用户提示一条信息。该命令还允许用户指定一个时间参数,可以使一个精确的时间,也可以是从现在开始的一个时间段。

该命令一般格式:shutdown [选项] [时间] [ 警告信息]
命令中选项:
-k :并不真正关机,而只是发出警告信息给所有用户
-r :关机后立即重新启动。
-h:关机后不重新启动
-f:快速关机重启时跳过fsck
-n:快速关机不经过init程序
-c:取消一个已经运行的shutdown

注意该命令只能由超级用户使用
例1:系统在十分钟后关机,并且马上重新启动 #shutdown -r + 10
例2:系统马上关机并且不重新启动 #shutdown -h now

halt
halt是最简单的关机命令,其实际调用的是:shutdown -h命令。halt执行时,杀死应用进程,文件系统写操作完成后,就会停止内核。

halt命令的参数:
-f :没有调用shutdown而强制关机或重启
-i :关机或重启之前,关掉所有的网络连接
-p:关机时调用poweroff,此选项为缺省项

reboot
其工作过程和halt类似,其作用是重启,而halt是关机。reboot命令重启系统时所有的进程,而不是平稳地终止他们。因此,使用reboot可以快速的关闭系统,如果还有其他的用户在该系统上工作的时候,就会引起数据丢失。所以使用reboot命令主要是在单用户模式。

init
init时所有进程的祖先,其进程号始终为1,init用于切换系统的运行级别,切换工作是立即完成的。

init 0 命令用于立即将系统运行级别切换为0.即关机
init 6 命令用于将系统运行级别切换为6,即重新启动。

5 ,守护进程

netd 就是 network daemon的缩写,表示network守护进程,netd负责跟一些涉及网络的配置,操作,管理,查询等相关功能实现,比如,带宽终止,流量统计,网络地址转换(NAT),个人局域网(pan),ppp连接,soft-ap,共享上网,配置路由表,interface配置管理等等。

inted即监视一些你网络请求的守护进程。其根据网络请求调用相应的服务进程来处理连接请求。它可以为多种服务器管理连接。当inted接到连接时,它确定连接所需连接的程序。启动相应的进程。并把socket交给它。

6,android dvm的进程和linux的进程

DVM指dalivk的虚拟机,每个android应用程序都在它自己的进程中运行。都拥有一个独立的dalivk虚拟机实例,而每个DVM都是在linux中的一个进程。所以说可以认为是同一个概念。

7,建立动态路由需要用到的文件有

/etc/geteways

动态路由器上的路由表项是通过相互连接的路由器之间交换彼此信息,然后按照一定的算法优化出来的,而这些路由信息是在一定时间间隙里不断更新,以适应不断变化的网络,以随时获得最优的寻路效果。为了实现IP分组的高效寻路,IETF制定了多种寻路协议。其中用于自治系统(AS:Autonomous System)内部网关协议有开放式最短路径优先(OSPF:Open Shortest Path First)协议寻路信息协议(RIP:Routing:[nformation Protoc01)。所谓自治系统是指在同一实体(如学校、企业或ISP)管理下的主机、路由器及其他网络设备的集合。还有用于自治域系统之间的外部网络路由协议BGP-4等。

Linux操作系统中,建立动态路由需要用到文件/etc/gateways,etc/gateways文件是I~inux的路由表文件。

* 网络相关的一些配置*
/etc/hosts 指定用户自己的ip名字与名字的对应表
/etc/HOSTNAME 设定用户的节点名
/etc/reslove.conf 设置DNS
/etc/geteways 设定路由器

8,检查系统中的设备情况,需要检查那个日志文件?

/var/log/messages

其他相关:
/var/log/messages — 包括整体系统信息,其中也包含系统启动期间的日志。此外,mail,cron,daemon,kern和auth等内容也记录在var/log/messages日志中。

/var/log/dmesg — 包含内核缓冲信息(kernel ring buffer)。在系统启动时,会在屏幕上显示许多与硬件有关的信息。可以用dmesg查看它们。
/var/log/auth.log — 包含系统授权信息,包括用户登录和使用的权限机制等。

/var/log/boot.log — 包含系统启动时的日志。

/var/log/daemon.log — 包含各种系统后台守护进程日志信息。

/var/log/dpkg.log – 包括安装或dpkg命令清除软件包的日志。

/var/log/kern.log – 包含内核产生的日志,有助于在定制内核时解决问题。

/var/log/lastlog — 记录所有用户的最近信息。这不是一个ASCII文件,因此需要用lastlog命令查看内容。

/var/log/maillog /var/log/mail.log — 包含来着系统运行电子邮件服务器的日志信息。例如,sendmail日志信息就全部送到这个文件中。

/var/log/user.log — 记录所有等级用户信息的日志。
/var/log/Xorg.x.log — 来自X的日志信息。

/var/log/alternatives.log – 更新替代信息都记录在这个文件中。

/var/log/btmp – 记录所有失败登录信息。使用last命令可以查看btmp文件。例如,”last -f /var/log/btmp | more“。

/var/log/cups — 涉及所有打印信息的日志。

/var/log/anaconda.log — 在安装Linux时,所有安装信息都储存在这个文件中。

/var/log/yum.log — 包含使用yum安装的软件包信息。

/var/log/cron — 每当cron进程开始一个工作时,就会将相关信息记录在这个文件中。

/var/log/secure — 包含验证和授权方面信息。例如,sshd会将所有信息记录(其中包括失败登录)在这里。

/var/log/wtmp或/var/log/utmp — 包含登录信息。使用wtmp可以找出谁正在登陆进入系统,谁使用命令显示这个文件或信息等。

/var/log/faillog – 包含用户登录失败信息。此外,错误登录命令也会记录在本文件中。

0 0
原创粉丝点击