热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linuxnohup、、screen命令(保证程序能够在断开ssh连接的情况下能够继续运行)

文章目录写在开头的话nohup、&、screen命令(保证程序能够在断开ssh连接的情况下能够继续运行)00.nohup命令0.1nohup介绍0.2不

文章目录

    • 写在开头的话
  • nohup、&、screen命令(保证程序能够在断开ssh连接的情况下能够继续运行)
    • 00. nohup 命令
      • 0.1 `nohup` 介绍
      • 0.2 不使用 `nohup` 和 & 的程序(对其发送CTRL+C)
      • 0.3 不使用 `nohup` 和 & 的程序(断开与终端的连接)
      • 0.4 使用 & 的程序
      • 0.5 使用 `nohup`的程序
      • 0.6 使用 `nohup` 、`&`的程序
      • 0.7 总结
    • 01. `Screen`命令
      • 1.1 为什么我们要用 screen 命令?
      • 1.2 screen 简介
      • 1.3 Screen 命令语法与参数
      • 1.4 Screen 命令演示
      • 1.5 screen 其他操作
    • 写在最后的话:



这里是一段防爬虫文本,请读者忽略。
本文原创首发于CSDN,作者IDYS
博客首页:https://blog.csdn.net/weixin_41633902/
本文链接:https://blog.csdn.net/weixin_41633902/article/details/108830808
未经授权,禁止转载!恶意转载,后果自负!尊重原创,远离剽窃!





写在开头的话


  • 请记住:实践是掌握知识的最快方法
  • 如果你只是怀着看看的态度去快速浏览文章,而不去认认真真的把文章里面讲的任何一个知识点去实践一遍,那么你永远也掌握不了它
  • 生命不息,折腾不止!



nohup、&、screen命令(保证程序能够在断开ssh连接的情况下能够继续运行)

00. nohup 命令


0.1 nohup 介绍


  • nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。
  • nohup命令,在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。



0.2 不使用 nohup 和 & 的程序(对其发送CTRL+C)


  • 编写一个循环脚本

[dayuanshuai@www nohuo_test] vim echo.sh 1 #! /bin/bash2 i=13 while true4 do5 echo $i6 let i++7 sleep 38 done[dayuanshuai@www nohuo_test] chmod u+x echo.sh # 对其添加一个 执行权限

  • 运行这个程序

[dayuanshuai@www nohuo_test] ./echo.sh
1
2
3
4
5
6
7
8

  • 在另外一个终端查看该程序的运行状态,可以看到该程序在运行

[root@www ~] ps aux | grep echo.sh
500 2067 0.0 0.0 106076 1356 pts/0 S+ 17:54 0:00 /bin/bash ./echo.sh
root 2080 0.0 0.0 103256 880 pts/2 S+ 17:54 0:00 grep echo.sh

  • 这个时候我们在运行的程序执行是,ctrl+c发送中断信号。

[dayuanshuai@www nohuo_test] ./echo.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
^C

  • 这个时候再次查看运行状态发现程序已经不再运行

[root@www ~] ps aux | grep echo.sh
root 2086 0.0 0.0 103256 876 pts/2 S+ 17:55 0:00 grep echo.sh



0.3 不使用 nohup 和 & 的程序(断开与终端的连接)


  • A终端里面执行死循环程序

[dayuanshuai@www nohuo_test] ./echo.sh
1
2
3
4

  • B终端查看其运行状态,发现程序正在运行

[root@www ~] ps aux | grep echo.sh
500 2126 0.0 0.0 106076 1356 pts/0 S+ 18:04 0:00 /bin/bash ./echo.sh
root 2132 0.0 0.0 103256 880 pts/1 R+ 18:04 0:00 grep echo.sh

  • 断开与A终端的连接,再次在B终端查看程序运行状态,发现程序已经不再运行

[root@www ~] ps aux | grep echo.sh
root 2136 0.0 0.0 103256 880 pts/1 S+ 18:05 0:00 grep echo.sh



0.4 使用 & 的程序


  • 程序内容:一个死循环程序,会一直打印输出

[dayuanshuai@www nohuo_test] cat echo.sh
#! /bin/bash
i=1
while true
do
echo $i
let i++
sleep 3
done

  • A终端使用&后台运行程序,在程序运行输出的过程中。使用ctrl+c是没有用的

[dayuanshuai@www nohuo_test] ./echo.sh &
[1] 2186
[dayuanshuai@www nohuo_test] 1
2
3
4
5
6
7
8
9
10
^C
[dayuanshuai@www nohuo_test] 11
12
13
14
^C
[dayuanshuai@www nohuo_test] 15
16
17
18
19
20
21
22
# 你会发现 程序一直打印输出,使用 `ctrl+c`完全没有任何效果

  • B终端查看后台运行状态,发现程序正在运行

[root@www ~] ps aux | grep echo.sh
500 2285 0.0 0.0 106076 1360 pts/0 S 18:42 0:00 /bin/bash ./echo.sh
root 2293 0.0 0.0 103256 880 pts/2 S+ 18:42 0:00 grep echo.sh

  • 关闭A终端,再次在B终端查看程序运行状态,发现程序仍然在运行

[root@www ~] ps aux | grep echo.sh
500 2285 0.0 0.0 106080 1404 ? S 18:42 0:00 /bin/bash ./echo.sh
root 2451 0.0 0.0 103256 880 pts/1 S+ 18:47 0:00 grep echo.sh

  • 关闭B终端后,再ssh连接上去。发现程序任然在运行

[root@www ~] ps aux | grep echo.sh
500 2285 0.0 0.0 106080 1408 ? S 18:42 0:00 /bin/bash ./echo.sh
root 2479 0.0 0.0 103256 880 pts/1 S+ 18:49 0:00 grep echo.sh

  • 那么现在只能杀死程序了。

[root@www ~] ps aux | grep echo.sh
500 2285 0.0 0.0 106080 1408 ? S 18:42 0:00 /bin/bash ./echo.sh
root 2603 0.0 0.0 103256 880 pts/2 S+ 18:51 0:00 grep echo.sh
# 使用 kill 杀死 程序
[root@www ~] kill 0 2285# 再次查看,发现程序已经 被杀死了
[root@www ~] ps aux | grep echo.sh
root 2610 0.0 0.0 103256 876 pts/2 S+ 18:51 0:00 grep echo.sh

当使用&时,前台是会显示程序运行的进程号的




0.5 使用 nohup的程序


  • A终端使用nohup命令。发现使用这个命令运行程序时,会提示:nohup: ignoring input and appending output to nohup.out'

[dayuanshuai@www nohuo_test] nohup ./echo.sh
nohup: ignoring input and appending output to `nohup.out'

  • 使用Ctrl+c时,程序会直接退出

[dayuanshuai@www nohuo_test] nohup ./echo.sh
nohup: ignoring input and appending output to `nohup.out'
^C

  • A终端再次运行程序,然后断开ssh连接。退出窗口。然后在B终端查看程序运行状态。发现程序还在运行

[dayuanshuai@www nohuo_test] nohup ./echo.sh
nohup: ignoring input and appending output to `nohup.out'
[root@www ~] ps aux | grep echo.sh
500 2692 0.0 0.0 106076 1360 ? S 19:01 0:00 /bin/bash ./echo.sh
root 2696 0.0 0.0 103256 880 pts/2 S+ 19:01 0:00 grep echo.sh

  • 那么我们现在杀死程序

[root@www ~] kill -9 2692
[root@www ~] ps aux | grep echo.sh
root 2770 0.0 0.0 103256 880 pts/2 S+ 19:05 0:00 grep echo.sh

  • 现在我们查看nohup.out文件。

[dayuanshuai@www ~] cat mytest/nohuo_test/nohup.out
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
*********

我们发现程序运行输出的字符全被保存在nihup.out文件里面


0.6 使用 nohup&的程序


  • 运行如下程序

[dayuanshuai@www nohuo_test] nohup ./echo.sh & # 显示了 该程序的进程号
[1] 2858
[dayuanshuai@www nohuo_test] nohup: ignoring input and appending output to `nohup.out' # 同时显示了nophup的信息

  • 执行ctrl+c后,查看程序是否仍然在运行

# 程序仍然在运行
[dayuanshuai@www nohuo_test] ps aux | grep echo.sh
500 2858 0.0 0.0 106076 1360 pts/0 S 21:30 0:00 /bin/bash ./echo.sh
500 2874 0.0 0.0 103256 884 pts/0 R+ 21:30 0:00 grep echo.sh

  • 关闭这个终端,去别的终端上查看是否在运行

# 发现程序仍然在运行
[root@www ~] ps aux | grep echo.sh
500 2858 0.0 0.0 106076 1364 ? S 21:30 0:00 /bin/bash ./echo.sh
root 2962 0.0 0.0 103256 880 pts/2 S+ 21:34 0:00 grep echo.sh

  • 杀死这个进程

[root@www ~] ps aux | grep echo.sh
root 2998 0.0 0.0 103256 876 pts/2 S+ 21:36 0:00 grep echo.sh

  • 再次查看,发现程序已经结束

[root@www ~] ps aux | grep echo.sh
root 2998 0.0 0.0 103256 876 pts/2 S+ 21:36 0:00 grep echo.sh

0.7 总结


  • &

    • 显示进程号
    • 进入后台
    • 使用ctrl+c不会导致程序的结束
    • 断开终端时,程序不会结束
  • nohup

    • 显示nohup: ignoring input and appending output to nohup.out'信息
    • 进入后台
    • ctrl+c会导致程序结束
    • 断开ssh的连接不会导致程序结束
  • nohup&

    • 显示进程号
    • 显示nohup: ignoring input and appending output to nohup.out'信息
    • CTRL+C不会导致程序结束
    • 断开终端时,程序不会结束



01. Screen命令


1.1 为什么我们要用 screen 命令?


  • 当我们在进行ssh连接执行命令。或者是用ssh传输文件时(sftpscp),或者是用telnet连接远程服务器时,我们可能会执行一些非常耗费时间的程序。然后当我们关闭窗口或者是断开连接时,这个程序就会被杀死,并没有继续执行。
  • 现在我们希望在我们关闭窗口或者是断开连接时间,这些程序不会因为连接的关闭而倒是程序也被杀死了

1.2 screen 简介


  • screen命令用于多重视窗管理程序

  • GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。

  • Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。

  • 会话恢复

    • 只要Screen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。只要再次登录到主机上执行screen -r就可以恢复会话的运行。同样在暂时离开的时候,也可以执行分离命令detach,在保证里面的程序正常运行的情况下让Screen挂起(切换到后台)。这一点和图形界面下的VNC很相似
  • 多窗口

    • Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。Screen实现了基本的文本操作,如复制粘贴等;还提供了类似滚动条的功能,可以查看窗口状况的历史记录。窗口还可以被分区和命名,还可以监视后台窗口的活动。
  • 会话共享

    • Screen可以让一个或多个用户从不同终端多次登录一个会话,并共享会话的所有特性(比如可以看到完全相同的输出)。它同时提供了窗口访问权限的机制,可以对窗口进行密码保护。

1.3 Screen 命令语法与参数


  • Screen语法

screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s <shell>][-S <作业名称>]

  • 参数说明

参数含义
-A将所有的视窗都调整为目前终端机的大小
-d<作业名称>将指定的screen作业离线。
-h<行数>指定视窗的缓冲区行数。
-m即使目前已在作业中的screen作业&#xff0c;仍强制建立新的screen作业
-r<作业名称>恢复离线的screen作业。
-R先试图恢复离线的作业。若找不到离线的作业&#xff0c;即建立新的screen作业。
-s指定建立新视窗时&#xff0c;所要执行的shell
-S<作业名称>指定screen作业的名称
-v显示版本信息。
-x恢复之前离线的screen作业
-ls-list显示目前所有的screen作业
-wipe检查目前所有的screen作业&#xff0c;并删除已经无法使用的screen作业

  • screen常用参数

命令含义
screen -S yourname新建一个叫yournamesession
screen -ls列出当前所有的session
screen -r yourname回到yourname这个session
screen -d yourname远程detach某个session
screen -d -r yourname结束当前session并回到yourname这个session

  • screen session下的的快捷键组合&#xff0c;在每个screen session下&#xff0c;所有命令都以ctrl&#43;a(C-a) 开始

快捷键含义
Ctrl&#43;a?显示所有键绑定信息
Ctrl&#43;ac创建一个新的运行shell的窗口并切换到该窗口
Ctrl&#43;anNext&#xff0c;切换到下一个 window
Ctrl&#43;apPrevious&#xff0c;切换到前一个 Window
Ctrl&#43;a0..9切换到第 0..9window
Ctrl&#43;a[Space]由视窗0循序切换到视窗9
Ctrl&#43;aCtrl&#43;a在两个最近使用的 window 间切换
Ctrl&#43;ax锁住当前的 window&#xff0c;需用用户密码解锁
Ctrl&#43;addetach&#xff0c;暂时离开当前session&#xff0c;将目前的 screen session (可能含有多个 windows) 丢到后台执行&#xff0c;并会回到还没进 screen 时的状态&#xff0c;此时在 screen session 里&#xff0c;每个 window 内运行的 process (无论是前台/后台)都在继续执行&#xff0c;即使 logout 也不影响。
Ctrl&#43;az把当前session放到后台执行&#xff0c;用 shellfg 命令则可回去。
Ctrl&#43;aw显示所有窗口列表
Ctrl&#43;atTime&#xff0c;显示当前时间&#xff0c;和系统的 load
Ctrl&#43;akkill&#xff0c;window&#xff0c;强行关闭当前的 window
Ctrl&#43;aA为当前窗口重新命名



  • copy mode模式的快捷选项

Ctrl&#43;a[进入copy mode&#xff0c;在 copy mode 下可以回滚、搜索、复制就像用使用 vi 一样
Ctrl&#43;bBackward&#xff0c;PageUp
Ctrl&#43;fForward&#xff0c;PageDown
H(大写) High将光标移至左上角
L Low将光标移至左下角
0移到行首
$行末
wforward one word&#xff0c;以字为单位往前移
bbackward one word&#xff0c;以字为单位往后移
Space第一次按为标记区起点&#xff0c;第二次按为终点
Esc结束copy mode
Ctrl&#43;a]Paste&#xff0c;把刚刚在 copy mode 选定的内容贴上

1.4 Screen 命令演示


  • 安装Screen

[root&#64;www ~] yum -y install screen
Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile
# 查询是否安装成功
[root&#64;www ~] rpm -q screen
screen-4.0.3-19.el6.x86_64

  • 启动一个screen会话

[root&#64;www ~] screen -S cmd1
[root&#64;www ~]#

  • 查看当前screen窗口

[root&#64;www ~]# screen -ls
There is a screen on:1756.cmd1 (Attached)
1 Socket in /var/run/screen/S-root.

  • 再新建一个窗口&#xff0c;然后查看screen窗口数量

[root&#64;www ~]# screen -S myedit
[root&#64;www ~]# screen -ls
There are screens on:1785.myedit (Attached)1756.cmd1 (Attached)
2 Sockets in /var/run/screen/S-root.

  • ctrl&#43;aw&#xff0c;查看当前所有的窗口

0*$ bash

  • 窗口分离&#xff0c;将当前窗口&#xff08;detach&#xff09;&#xff0c;放入后台执行&#xff0c;输入Ctrl&#43;a&#xff0c;d

[detached]

  • 重新连接会话&#xff0c;将后台程序调入前台

[root&#64;www ~] screen -ls
There are screens on:1785.myedit (Attached)1756.cmd1 (Detached)1810.ME (Attached)
3 Sockets in /var/run/screen/S-root.[root&#64;www ~] screen -r 1756
[root&#64;www ~]# screen -ls
There are screens on:1785.myedit (Attached)1756.cmd1 (Attached)1810.ME (Attached)

  • 如果所有窗口都为attach&#xff0c;那么我们想进入某个窗口&#xff0c;可以先screen -d这个窗口&#xff0c;再screen -r这个窗口的名字或者它的id

[root&#64;www ~]# screen -ls
There are screens on:1785.myedit (Attached)1756.cmd1 (Attached)1810.ME (Attached)
3 Sockets in /var/run/screen/S-root.[root&#64;www ~]# screen -d 1785[root&#64;www ~]#
[root&#64;www ~]# screen -ls
There are screens on:1785.myedit (Detached)1756.cmd1 (Attached)1810.ME (Attached)
[root&#64;www ~]# screen -r 1785 [remote detached][root&#64;www ~]# screen -ls
There are screens on:1785.myedit (Attached)1756.cmd1 (Attached)1810.ME (Attached)# 查看已经连接
[root&#64;www ~]#
[root&#64;www ~]# screen -ls
There are screens on:1785.myedit (Attached)1756.cmd1 (Attached)1810.ME (Attached)

  • 继续演示

# 创建一个窗口&#xff0c;执行 echo_bb.sh
[root&#64;www ~] screen -S echodigit
[root&#64;www ~]# su - dayuanshuai
[dayuanshuai&#64;www ~] ls
a a.txt compre_test c_program moount_test mytest sh_01 sh_02 sh.tar
[dayuanshuai&#64;www ~] cd mytest/
[dayuanshuai&#64;www mytest] cd nohuo_test/
[dayuanshuai&#64;www nohuo_test] ls
echo_bb.sh echo_digit.sh echo_str.sh nohup.out
# detached 退出这个窗口
[dayuanshuai&#64;www nohuo_test] ./echo_bb.sh
bb
bb
[detached]
# 再次创建一个窗口 &#xff0c;执行 echo_str.sh
[root&#64;www ~] screen -S echostr
[root&#64;www ~]# su - dayuanshuai
# detached 退出这个窗口
[dayuanshuai&#64;www ~] ./mytest/nohuo_test/echo_str.sh
whoami
whoami
[detached]
# 再次创建一个窗口 执行 echo_digit.sh
[root&#64;www ~] screen -S echobb
[root&#64;www ~]# su - dayuanshuai
# detached 退出这个窗口
[dayuanshuai&#64;www ~] ./mytest/nohuo_test/echo_digit.sh
1
2[detached]# 查看screen窗口 运行状态
[root&#64;www ~] screen -ls
There are screens on:2140.echostr (Detached)2201.echobb (Detached)2091.echodigit (Detached)
3 Sockets in /var/run/screen/S-root.# 调出 执行 echo_bb.sh的这个窗口
[root&#64;www ~] screen -r 2091
bb
bb
bb
bb
bb
bb
bb
bb
bb
bb#
[root&#64;www ~] screen -r echostr
whoami
whoami
whoami
whoami
whoami
whoami
whoami
whoami
whoami
whoami
whoami
whoami[root&#64;www ~] screen -ls
There are screens on:2140.echostr (Detached)2201.echobb (Detached)2091.echodigit (Detached)
3 Sockets in /var/run/screen/S-root.# 调出 echostr 这个窗口
[root&#64;www ~] screen -r echostr
whoami
whoami
whoami
whoami
whoami
whoami
whoami
whoami# 查看运行状态&#xff0c;再调出 2201 这个窗口
[root&#64;www ~] screen -r 2201
174
175
176
177
178
179
180
181
182
183
184
185
186[root&#64;www ~] screen -ls
There are screens on:2140.echostr (Detached)2201.echobb (Detached)2091.echodigit (Detached)
3 Sockets in /var/run/screen/S-root.# 再调出一次发现其已经执行到 216了&#xff0c;说明程序一直在后台运行
[root&#64;www ~] screen -r 2201
208
209
210
211
212
213
214
215
216

  • 关闭窗口
    • ctrl&#43;ak
    • kill



1.5 screen 其他操作


  • 屏幕共享
    • 当用户在一个终端里面开启一个screen会话窗口&#xff0c;那么以同样一个用户登录的终端就可以使用screen -x可以实时看到另外一个终端的实时操作

# 开启一个 screen 会话
[root&#64;www ~] screen -S mytest
[root&#64;www ~]# whoself
bash: whoself: command not found
[root&#64;www ~]# whoami
root
[root&#64;www ~]# howareyou
bash: howareyou: command not found
[root&#64;www ~]# hihi# 另外一个终端执行 screen -x 直接就可以看到 另外一个终端的实时输入
[root&#64;www ~] screen -x
[root&#64;www ~]# whoself
bash: whoself: command not found
[root&#64;www ~]# whoami
root
[root&#64;www ~]# howareyou
bash: howareyou: command not found
[root&#64;www ~]# hihi

  • 屏幕分割

    • Ctrl&#43;aS&#xff1a;水平分割
    • Ctrl&#43;aX&#xff1a;关闭当前screen窗口
    • Ctrl&#43;aQ&#xff1a;关闭其他screen窗口
  • C/P操作

    • CTRL&#43;a[可以进入copy/paste模式&#xff0c;这个模式下可以像在vi中一样移动光标&#xff0c;并可以使用空格键设置标记。其实在这个模式下有很多类似vi的操作&#xff0c;譬如使用/进行搜索&#xff0c;使用y快速标记一行&#xff0c;使用w快速标记一个单词等。关于C/P模式下的高级操作&#xff0c;其文档的这一部分有比较详细的说明。
    • 一般情况下&#xff0c;可以移动光标到指定位置&#xff0c;按下空格设置一个开头标记&#xff0c;然后移动光标到结尾位置&#xff0c;按下空格设置第二个标记&#xff0c;同时会将两个标记之间的部分储存在copy/paste buffer中&#xff0c;并退出copy/paste模式。在正常模式下&#xff0c;可以使用快捷键C-a ]将储存在buffer中的内容粘贴到当前窗口。
  • screen配置文件

    • /etc/screenrc
    • $HOME/.screenrc
    • screen默认是以单用户模式运行的&#xff0c;你需要在配置文件中指定multiuser on来打开多用户模式&#xff0c;通过acl*&#xff08;acladd,acldel,aclchg...&#xff09;命令&#xff0c;你可以灵活配置其他用户访问你的screen会话


写在最后的话&#xff1a;


  • 无论每个知识点的难易程度如何&#xff0c;我都会尽力将它描绘得足够细致
  • 欢迎关注我的CSDN博客&#xff0c;IDYS’BLOG
  • 持续更新内容&#xff1a;
    linux基础 | 数据通信&#xff08;路由交换&#xff0c;WLAN&#xff09; | Python基础 | 云计算
  • 如果你有什么疑问&#xff0c;或者是难题。欢迎评论或者私信我。你若留言&#xff0c;我必回复&#xff01;
  • 虽然我现在还很渺小&#xff0c;但我会做好每一篇内容。谢谢关注&#xff01;



推荐阅读
  • 如何安装和使用 WinSCP 与 PuTTY:连接 Linux 系统的专业工具指南
    本指南详细介绍了如何在Windows环境中安装和使用WinSCP与PuTTY,以实现与Linux系统的安全连接。WinSCP是一款开源的图形化SFTP客户端,支持SSH和SCP协议,主要用于在本地和远程计算机之间安全地传输文件。用户可以通过官方下载页面获取最新版本的WinSCP和PuTTY,按照简单的步骤完成安装,并利用这些工具进行高效的文件管理和远程操作。 ... [详细]
  • `chkconfig` 命令主要用于管理和查询系统服务在不同运行级别中的启动状态。该命令不仅能够更新服务的启动配置,还能检查特定服务的当前状态。通过 `chkconfig`,管理员可以轻松地控制服务在系统启动时的行为,确保关键服务正常运行,同时禁用不必要的服务以提高系统性能和安全性。本文将详细介绍 `chkconfig` 的各项参数及其使用方法,帮助读者更好地理解和应用这一强大的系统管理工具。 ... [详细]
  • 【Linux】CentOS 7 远程连接指南:高效安全的远程管理方法
    在 CentOS 7 中实现高效且安全的远程管理,本文详细介绍了如何检查和安装配置 OpenSSH。首先,通过 `yum list installed` 命令检查系统是否已安装 OpenSSH,若未安装,则使用 `yum install openssh-server` 进行安装。随后,配置 SSH 服务以确保其安全性和稳定性,包括修改默认端口、禁用 root 登录等关键步骤。此外,还提供了常见问题的解决方案,帮助用户顺利进行远程连接。 ... [详细]
  • 【教程】SecureCRT8.5安装和注册的详细步骤及操作指南
    00.目录文章目录00.目录01.SecureCRT8.5介绍02.SecureCRT8.5的特性03.SecureCRT8.5的特点04.SecureCRT8.5安装05.Sec ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • Python 伦理黑客技术:深入探讨后门攻击(第三部分)
    在《Python 伦理黑客技术:深入探讨后门攻击(第三部分)》中,作者详细分析了后门攻击中的Socket问题。由于TCP协议基于流,难以确定消息批次的结束点,这给后门攻击的实现带来了挑战。为了解决这一问题,文章提出了一系列有效的技术方案,包括使用特定的分隔符和长度前缀,以确保数据包的准确传输和解析。这些方法不仅提高了攻击的隐蔽性和可靠性,还为安全研究人员提供了宝贵的参考。 ... [详细]
  • 本文介绍了如何在 Windows 系统上利用 Docker 构建一个包含 NGINX、PHP、MySQL、Redis 和 Elasticsearch 的集成开发环境。通过详细的步骤说明,帮助开发者快速搭建和配置这一复杂的技术栈,提升开发效率和环境一致性。 ... [详细]
  • 利用树莓派畅享落网电台音乐体验
    最近重新拾起了闲置已久的树莓派,这台小巧的开发板已经沉寂了半年多。上个月闲暇时间较多,我决定将其重新启用。恰逢落网电台进行了改版,回忆起之前在树莓派论坛上看到有人用它来播放豆瓣音乐,便萌生了同样的想法。通过一番调试,终于实现了在树莓派上流畅播放落网电台音乐的功能,带来了全新的音乐享受体验。 ... [详细]
  • 基址获取与驱动开发:内核中提取ntoskrnl模块的基地址方法解析
    基址获取与驱动开发:内核中提取ntoskrnl模块的基地址方法解析 ... [详细]
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Jenkins的分布式构建,在Jenkins的配置中叫做节点,分布式构建能够让同一套代码或项目在不同的环境(如:Windows和Linux系统)中编译、部署等。将jenkins项目 ... [详细]
  • PHP程序员玩转Linux系列 搭建FTP代码开发环境
    PHP程序员玩转Linux系列搭建FTP代码开发环境-PHP程序员玩转Linux系列文章:有些同学可能觉得我写的都是啥yum安装的,随便配置一下而已,没啥技术含量,我的目的是让大家 ... [详细]
  • 当程序首次启动时,由于代码尚未加载到内存中,会触发大量的页面错误,从而需要从磁盘读取代码。那么,当程序终止后,这些二进制文件是否会继续驻留在内存中呢?本文将探讨程序退出后的内存状态及其对系统性能的影响。 ... [详细]
  • 如何在您的计算机上配置Python和PyCharm开发环境
    本文详细介绍了在Windows 10系统上配置Python和PyCharm开发环境的步骤。内容包括Python的安装与卸载、PyCharm的安装与卸载,以及如何在Windows 10中通过双击安装文件“python-3.7.2-amd64.exe”来完成Python的安装。此外,还提供了关于环境变量配置和基本设置的实用建议,帮助用户快速搭建高效的开发环境。 ... [详细]
author-avatar
0Hey0ne
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有