0%

如果要关机,必须保证当前系统中没有其他用户在登录系统。我们可以使用who命令查看是否还有其他人登录,或者使用命令ps -aux查看是否还有后台进程运行。

shutdownhaltpoweroff都为关机的命令,我们可以使用命令man shutdown查看其帮助文档。例如,我们运行如下命令关机。

1
2
3
4
5
6
7
8
9
10
11
12
13
shutdown -h 10        #计算机将于10分钟后关闭,且会显示在登录用户的当前屏幕中

shutdown -h now #计算机会立刻关机

shutdown -h 22:22 #计算机会在这个时刻关机

shutdown -r now #计算机会立刻重启

shutdown -r +10 #计算机会将于10分钟后重启

reboot #重启

halt #关机

在这里,我们通过程序来验证一下,Set集合和List的集合的各类集合操作各有什么不同。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class CollectionTest {
public static void main(String[] args) {

Set<Integer> set1 = new HashSet<Integer>() {
{
add(1);
add(3);
add(5);
}
};

Set<Integer> set2 = new HashSet<Integer>() {
{
add(1);
add(2);
add(3);
}
};

Set<Integer> result = new HashSet<>();

result.addAll(set1);
System.out.println("set1:" + set1);
System.out.println("set2:" + set2);
result.retainAll(set2);
System.out.println("set1与set2的交集是: " + result);

result.clear();
result.addAll(set2);
result.removeAll(set1);
System.out.println("set2与set1的差集是: " + result);

result.clear();
result.addAll(set1);
result.addAll(set2);

System.out.println("set1和set2的并集: " + result);
System.out.println("set集合并集,是去重复的");

// 测试List集合

List<Integer> list1 = new ArrayList<Integer>() {{
add(1);
add(3);
add(5);
}};

List<Integer> list2 = new ArrayList<Integer>() {
{
add(1);
add(2);
add(3);
}
};

List<Integer> list = new ArrayList<>();

list.addAll(list1);
System.out.println("list1: " + list1);
System.out.println("list2: " + list2);
list.retainAll(list2);
System.out.println("list1与list2的交集是: " + list);

list.clear();
list.addAll(list2);
list.removeAll(list1);
System.out.println("list2与list1的差集是:" + list);

list.clear();
list.addAll(list1);
list.addAll(list2);

System.out.println("list1和list2的并集: " + list);
System.out.println("List集合并集, 是不去重复的");

}
}

set1:[1, 3, 5]
set2:[1, 2, 3]
set1与set2的交集是: [1, 3]
set2与set1的差集是: [2]
set1和set2的并集: [1, 2, 3, 5]
set集合并集,是去重复的
list1: [1, 3, 5]
list2: [1, 2, 3]
list1与list2的交集是: [1, 3]
list2与list1的差集是:[2]
list1和list2的并集: [1, 3, 5, 1, 2, 3]
List集合并集, 是不去重复的

结论:Set集合的并集,是要去重的。而List的并集,是不会去重的。

用ssh连接远程服务器,如阿里云时,如果一段时间没有在ssh终端输入命令,就会断掉,然后又得重新登录,非常麻烦。解决方案如下:

1
vi /etc/ssh/sshd_config

找到下面两行

1
2
#ClientAliveInterval 0
#ClientAliveCountMax 3

去掉注释,改成

1
2
3
4
ClientAliveInterval 30
# 客户端每隔多少秒向服务发送一个心跳数据
ClientAliveCountMax 86400
# 客户端多少秒没有相应,服务器自动断掉连接

重启sshd服务

1
service sshd restart