需求:
假设w输出类似这样
user1 pts/0 ...................... -bash
user1 pts/1 ...................... -bash
user2 pts/2 ...................... -bash
user2 pts/3 ...................... w
有没有命令对指定的tty注销用户?又有没有命令对指定的用户注销所有tty?
总感觉用ps kill -9 太暴力了点,也不方便......
其实可以通过skill命令来实现:
# skill
Usage: skill [signal to send] [options] process selection criteria
Example: skill -KILL -v pts/*
The default signal is TERM. Use -l or -L to list available signals.
Particularly useful signals include HUP, INT, KILL, STOP, CONT, and 0.
Alternate signals may be specified in three ways: -SIGKILL -KILL -9
General options:
-f fast mode This is not currently useful.
-i interactive use You will be asked to approve each action.
-v verbose output Display information about selected processes.
-w warnings enabled This is not currently useful.
-n no action This only displays the process ID.
Selection criteria can be: terminal, user, pid, command.
The options below may be used to ensure correct interpretation.
-t The next argument is a terminal (tty or pty).
-u The next argument is a username.
-p The next argument is a process ID number.
-c The next argument is a command name.
-t 这个参数可以多利用