1、systemd查看日志文件有隐藏该如何处理?
systemctl status *.service #查看某服务状态及日志。但是每行日志内容显示不全,加上-l属性,即systemctl status *.service -l #每行日志显示完全。systemctl 显示的日志条目有限,需要更加详细的日志可以用 journalctl -u *.service 来查看
2、自己动手写一个systemd的配置文件, 让nginx服务可以开机启动
在系统服务目录里创建nginx.service文件
vim /etc/systemd/system/nginx.service
[Unit]
Description=nginx server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
设置开机自启动
systemctl enable nginx.service
3、SIGHUP、SIGQUIT、SIGTERM、SIGINTERRUPT的区别
SIGHUP
本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端不再关联。
SIGQUIT
和SIGINT类似, 但由QUIT字符(通常是Ctrl-)来控制. 进程在因收到SIGQUIT退出时会产生core文件, 在这个意义上类似于一个程序错误信号。
SIGTERM
程序结束(terminate)信号, 与SIGKILL不同的是该信号可以被阻塞和处理。通常用来要求程序自己正常退出,shell命令kill缺省产生这个信号。如果进程终止不了,我们才会尝试SIGKILL。
SIGINTERRUPT
允许信号中断系统调用。当系统调用被信号sig中断时,改变重启行为。
4、用awk查看tcp连接处于TIMEOUT的连接个数
[root@localhost ~]# netstat -tan | awk '/^tcp/{state[$NF]++}END{for(i in state) {print i,state[i]}}' | awk '/TIME_WAIT/'
TIME_WAIT 1