平时经常要操作多台服务器
在一台服务器通过ssh远程连接到另一台服务器,经常需要输入密码,
当然可以将服务器之间做一个免密认证即可。
除了做免密认证外,有没有别的办法呢?我们经常需要用到`nohup`,将一个命令放置在后台运行,这个时候`怎么输入密码`
例:
A:192.168.2.238
B:192.168.2.143
[A] `nohup scp 八佰.mp4 root@192.168.2.143:/root`
nohup: appending output to `nohup.out'
Password:
输入密码后按:`ctrl+z`
[1]+ suspended (signal) scp 八佰.mp4 root@192.168.2.143:/root
然后紧接着输入:
[A]$ `bg`
上述命令便又能在后台恢复运行了
[1] + 16319 continued scp 八佰.mp4 root@192.168.2.143:/root
Linux/Unix 是真正的多用户,多任务。
Linux 提供了 fg 和bg 命令,让你轻松调度正在运行的任务。
假设你发现前台运行的一个程序需要很长的时间,但是需要干其他的事情,你就可以用 Ctrl-Z ,挂起这个程序,然后可以看到系统提示:
[1]+ Stopped /root/bin/rsync.sh
然后我们可以把程序调度到后台执行:(bg 后面的数字为作业号)
`#bg 1`
[1]+ /root/bin/rsync.sh &
用 jobs 命令查看正在运行的任务:
`#jobs`
[1]+ Running /root/bin/rsync.sh &
如果想把它调回到前台运行,可以用
`#fg 1`
/root/bin/rsync.sh
这样,你在控制台上就只能等待这个任务完成了。
& 将指令丢到后台中去执行
[ctrl]+z 將前台任务丟到后台中暂停
jobs -l 查看后台的工作状态
fg %jobnumber 将后台的任务拿到前台来处理
bg %jobnumber 将任务放到后台中去处理
kill 管理后台的任务