Linux 知识总结
1. Linux中多进程并行执行
(1)Shell默认以串行的方式自上而下执行命令

[root@mail SHELL]# cat para_while.sh

#!/bin/bash
# test while loop

date
for num in `seq 1 10`
do {
    echo "The number is:$num"
}  
done 
echo "Finish!"
date
[root@mail SHELL]# sh para_while.sh 
Mon Oct 29 17:18:03 CST 2018
The number is:1
The number is:2
The number is:3
The number is:4
The number is:5
The number is:6
The number is:7
The number is:8
The number is:9
The number is:10
Finish!
Mon Oct 29 17:18:03 CST 2018

发现执行时间较快。

(2)shell中并行执行:(wait命令和‘&‘后台符号可以实现并行,但无法控制进程数)

wait命令:是等待前面的后台任务全部完成才往下执行,否则程序本身是不会等待的,这样对后面依赖前面任务结果的命令来说就可能出错。
“&”:默认情况下,shell命令是阻塞执行的,可以通过其后添加’&’让这条命令异步执行。

[root@mail SHELL]# cat para2_while.sh

#!/bin/bash
# test while loop

date
for num in `seq 1 10`
do {
    echo "The number is:$num"
}  &
done 
wait
echo "Finish!"
date
[root@mail SHELL]# sh para2_while.sh 
Mon Oct 29 17:18:06 CST 2018
The number is:8
The number is:9
The number is:10
The number is:7
The number is:3
The number is:4
The number is:5
The number is:1
The number is:6
The number is:2
Finish!
Mon Oct 29 17:18:06 CST 2018

发现执行时间很快。

2. linux命令

nohup命令:no hang up,不挂断命令;你希望退出帐户或者关闭终端之后不关闭相应的进程时使用(希望程序仍然执行时使用)。
例子:

 nohup command &                
 nohup command > myout.file 2>&1 &      ##输出日志到myout.file,并将标准错误输出,重定向到标准输出,再被重定向到myout.file。

fg命令:用于将后台作业(在后台运行的或者在后台挂起的作业)放到前台终端运行。

例:使用fg命令将任务号为2的任务从后台执行转换到前台执行,输入如下命令:
fg 2

bg命令:用于将作业放到后台运行,使前台可以执行其他任务。该命令的运行效果与在指令后面添加”&”符号的效果是相同的,都是将其放到系统后台执行。

例:使用bg命令将任务号为1的任务放到后台继续执行,输入如下命令:
bg 1

jobs命令:用于显示Linux中的任务列表及任务状态,包括后台运行的任务。该命令可以显示任务号及其对应的进程号。带+表示最新的jobs;带-表示次新的jobs;其他jobs不带符号.

3、Linux中权限设置
修改某个目录下所有文件的权限,包括子目录中的文件权限;使用参数-R表示启动递归处理。

[root@local ~]# chmod 777 /home #把/home目录的权限设置为rwxrwxrwx,可读可写可执行
[root@local ~]# chmod -R 777 /home  #将整个/home目录与其中的文件和子目录的权限都设置为rwxrwxrwx,可读可写可执行

4. (1)查看全部进程数
ps -ef | wc –l
(2)查看Tomcat的进程数
ps -ef | grep Tomcat | wc –l