1、systemd查看日志文件有隐藏该如何处理?
[root@localhost ~]# journalctl -o verbose
-- Logs begin at Sat 2019-08-10 09:31:40 CST, end at Sun 2019-08-11 09:20:56 CST. --
Sat 2019-08-10 09:31:40.536676 CST [s=ddc9aba16ee24df6a2c0dd50494b5dbf;i=1;b=8ef8d5e41fa54dbc9586fc1554
PRIORITY=6
_TRANSPORT=driver
MESSAGE=Runtime journal is using 6.0M (max allowed 48.6M, trying to leave 72.9M free of 480.1M avai
MESSAGE_ID=ec387f577b844b8fa948f33cad9a75e6
_PID=105
_UID=0
_GID=0
_COMM=systemd-journal
_EXE=/usr/lib/systemd/systemd-journald
_CMDLINE=/usr/lib/systemd/systemd-journald
_CAP_EFFECTIVE=5402800cf
_SYSTEMD_CGROUP=/system.slice/systemd-journald.service
_SYSTEMD_UNIT=systemd-journald.service
_SYSTEMD_SLICE=system.slice
_BOOT_ID=8ef8d5e41fa54dbc9586fc15545614d4
_MACHINE_ID=c167927a96f4488e86d53f0a2ce80b6b
_HOSTNAME=localhost.localdomain
Sat 2019-08-10 09:31:40.536729 CST [s=ddc9aba16ee24df6a2c0dd50494b5dbf;i=2;b=8ef8d5e41fa54dbc9586fc1554
PRIORITY=6
_BOOT_ID=8ef8d5e41fa54dbc9586fc15545614d4
_MACHINE_ID=c167927a96f4488e86d53f0a2ce80b6b
_HOSTNAME=localhost.localdomain
_SOURCE_MONOTONIC_TIMESTAMP=0
_TRANSPORT=kernel
SYSLOG_FACILITY=0
SYSLOG_IDENTIFIER=kernel
MESSAGE=Initializing cgroup subsys cpuset
2、自己动手写一个systemd的配置文件, 让nginx服务可以开机启动
[Unit] //通用选项
Description=nginx web server //描述信息
After=network.target remote-fs.target nss-lookup.target //在这些服务启动后启动
[Service]
Type=forking //表示后面定义的ExecStart的主进程生成的其中一个子进程将被提升成 为主进程,启动完成后,旧的主进程会退出。
PIDFile=/usr/local/nginx/logs/nginx.pid //它表示pid文件的所在位置
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf //Nginx的启动命令
ExecReload=/usr/sbin/nginx -s reload //定义Nginx的重新加载配置文件等
ExecStop=/usr/sbin/nginx -s stop
[Install]
WantedBy=multi-user.target //定义了服务启动或禁用时的一些选项
3、SIGHUP、SIGQUIT、SIGTERM、SIGINTERRUPT的区别
SIGQUIT:
在POSIX兼容的平台,SIGQUIT是其控制终端发送到进程,当用户请求的过程中执行核心转储的信号。 SIGQUIT通常可以ctrl+ \。在Linux上,人们还可以使用Ctrl-4或虚拟控制台,SysRq yek。SIGTERM:
SIGTERM是杀或的killall命令发送到进程默认的信号。它会导致一过程的终止,但是SIGKILL信号不同,它可以被捕获和解释(或忽略)的过程。因此,SIGTERM类似于问一个进程终止可好,让清理文件和关闭。因为这个原因,许多Unix系统关机期间,初始化问题SIGTERM到所有非必要的断电过程中,等待几秒钟,然后发出SIGKILL强行终止仍然存在任何这样的过程。SIGINT:
符合POSIX平台,信号情报是由它的控制终端,当用户希望中断该过程发送到处理的信号。通常ctrl-C,但在某些系统上,“删除”字符或“break”键 - 当进程的控制终端的用户按下中断正在运行的进程的关键SIGINT被发送。SIGKILL:
上符合POSIX平台上,SIGKILL是发送到处理的信号以使其立即终止。当发送到程序,SIGKILL使其立即终止。在对比SIGTERM和SIGINT,这个信号不能被捕获或忽略,并且在接收过程中不能执行任何清理在接收到该信号。
4、用awk查看tcp连接处于TIMEOUT的连接个数
[root@localhost ~]# netstat -tan | awk '/^tcp/{state[$NF]++}END{print "TIME_WAIT" " " state["TIME_WAIT"]};'
TIME_WAIT 1000