`

ssh---nohup

    博客分类:
  • ssh
ssh 
阅读更多

ssh 

windows下向服务器传输编程文件


其中使用nohup,启动java,将windows里输出到控制台的信息打印到nohup.out里



理解:

  nohup是linux命令,不挂断的运行命令---在我们关闭ssh时不会中断linux机器上运行的java程序。

因为:

linux中,每个用于用户与系统进行交流的界面都成为终端,每个从终端开始运行的进程(例如我们使用ssh开启的java进程)都会依赖于这个终端(windows),该终端成为进程的控制终端,当控制终端关闭时,响应的进行也会被自动关闭。


为完成退出,但是不关闭启动的程序有两种方式一种是守护进程,一种是使用nohup命令实现。

守护进程是与系统同在,需要使用守护进程的规则进行编程,

使用bohup命令启动,普通编程即可,

nohup<程序名>

则控制台终端推出后,进程仍然继续运行,起到守护进程的作用(虽然它不是严格意义上的守护进程)。
使用nohup命令后,原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用,实现了完整的守护进程功能。如果启动该程序的控制台logout,则该进程随即终止。

nohup .start***.sh &


启动多个程序后,可以使用ps命令来查看进程和状态


例如查看jar:ps -ef|pref  ***.jar


 

转载:http://www.cnblogs.com/kapok/archive/2005/11/23/283108.html

2005年04月18日

简单而有用的nohup命令在UNIX/LINUX中,普通进程用&符号放到后台运行,如果启动该程序的控制台logout,则该进程随即终止。


要实现守护进程,一种方法是按守护进程的规则去编程(本站有文章介绍过),比较麻烦;另一种方法是仍然用普通方法编程,然后用nohup命令启动程序: 
nohup <程序名> & 
则控制台logout后,进程仍然继续运行,起到守护进程的作用(虽然它不是严格意义上的守护进程)。
使用nohup命令后,原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用,实现了完整的守护进程功能。

ygwu @ 2005年04月18日 上午10:03 

For example:
如何远程启动WebLogic服务?

用telnet远程控制服务器,远程启动WEBLOGIC服务,启动后关闭telnet,WebLogic服务也跟着停止,这是因为使用telnet启动的进程会随着telnet进程的关闭而关闭。所以我们可以使用一些UNIX下的命令来做到不关闭。

使用如下命令:

nohup startWeblogic.sh&

如果想要监控标准输出可以使用:

tail -f nohup.out

访客留言

FreeBSD可以同时运行多个进程,在shell下直接输入命令后,shell将进程放到前台执行。如果要将进程放到后台执行,需要在命令行的结尾加上一个 “&” 符号。下面的命令从后台执行,从ftp.isc.org下载文件。

$ fetch ftp://ftp.isc.org/pub/inn/inn-1.7.2.tar.gz &

当程序已经在前台执行的时候,可以使用^Z将这个程序挂起,暂停执行。然后可以使用bg命令将这个挂起的程序放到后台执行,或者使用fg将某个在后台或挂起的进程放到前台执行。

当在后台运行了程序的时候,可以用jobs命令来查看后台作业的状态。在有多个后台程序时,要使用来参数的fg命令将不同序号的后台作业切换到前台上运行。

$ jobs

[1]+ Running fetch ftp://ftp.isc.org/pub/inn/inn-1.7.2.tar.gz &

$ fg %1

fetch ftp://ftp.isc.org/pub/inn/inn-1.7.2.tar.gz

在启动了多个程序之后,可以使用ps命令来查看这些进程及其状态。

$ ps

PID TT STAT TIME COMMAND

501 p2 Ss 0:00.24 -bash (bash)

988 p2 R+ 0:00.00 ps

765 p3 Is+ 0:00.28 -bash (bash)

230 v0 Is+ 0:00.14 -bash (bash)

显示的结果包括进程的标识号PID,控制终端TT(p0表示控制终端为ttyp0),进程的状态STAT,进程使用的处理器时间TIME和具体的命令。

可以给ps命令加上参数,来获得更多的输出内容,以下命令将输出系统中所有的进程:

$ ps waux

USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND

wb 989 0.0 0.4 400 236 p2 R+ 5:48PM 0:00.00 ps -aux

root 1 0.0 0.1 496 72 ?? Is 10:12PM 0:00.02 /sbin/init --

root 2 0.0 0.0 0 0 ?? DL 10:12PM 0:07.05 (pagedaemon)

root 3 0.0 0.0 0 0 ?? DL 10:12PM 0:00.20 (vmdaemon)

root 4 0.0 0.0 0 0 ?? DL 10:12PM 0:04.27 (syncer)

root 27 0.0 0.0 204 0 ?? IWs - 0:00.00 (adjkerntz)

root 91 0.0 0.5 820 328 ?? Is 2:12PM 0:00.82 syslogd

daemon 100 0.0 0.0 792 0 ?? IWs - 0:00.00 (portmap)

root 131 0.0 0.3 864 164 ?? Is 2:12PM 0:00.06 inetd

root 134 0.0 0.3 980 192 ?? Is 2:12PM 0:00.11 cron

root 138 0.0 0.6 1252 380 ?? Is 2:12PM 0:00.11 sendmail: accepti

wb 230 0.0 1.1 1540 668 v0 Is+ 2:12PM 0:00.14 -bash (bash)

root 231 0.0 0.0 824 0 v1 IWs+ - 0:00.00 (getty)

root 232 0.0 0.0 824 0 v2 IWs+ - 0:00.00 (getty)

root 500 0.0 0.9 876 524 ?? Ss 4:19PM 0:01.78 telnetd

wb 501 0.0 1.4 1540 888 p2 Ss 4:19PM 0:00.24 -bash (bash)

root 698 0.0 1.5 1644 900 ?? Is 4:49PM 0:00.02 /usr/local/sbin/s

root 700 0.0 1.2 1308 748 ?? Ss 4:49PM 0:00.22 /usr/local/sbin/n

root 702 0.0 3.4 2900 2112 ?? S 4:49PM 0:00.32 /usr/local/sbin/s

root 764 0.0 0.9 880 540 ?? Is 5:10PM 0:00.22 telnetd

wb 765 0.0 1.7 1536 1052 p3 Is+ 5:10PM 0:00.28 -bash (bash)

root 0 0.0 0.0 0 0 ?? DLs 10:12PM 0:00.02 (swapper)

当用户启动一个进程的时候,这个进程是运行在前台,使用与相应控制终端相联系的标准输入、输出进行输入和输出。即使将进程的输入输出重定向,并将进程放在后台执行,进程仍然和当前终端设备有关系。正因为如此,在当前的登录会话结束时,控制终端设备将和登录进程相脱离,那么系统就向所有与这个终端相联系的进程发送SIGHUP的信号,通知进程线路已经挂起了,如果程序没有接管这个信号的处理,那么缺省的反应是进程结束。因此普通的程序并不能真正脱离登录会话而运行进程,为了使得在系统登录后还可以正常执行,只有使用命令nohup来启动相应程序。

从上面的ps的输出结果可以看出,有些程序没有控制终端,这些程序通常是一些后台进程。使用命令nohup当然可以启动这样的程序,但nohup启动的程序在进程执行完毕就退出,而常见的一些服务进程通常永久的运行在后台,不向屏幕输出结果。在Unix中这些永久的后台进程称为守护进程(daemon)。守护进程通常从系统启动时自动开始执行,系统关闭时才停止。如果偶然某个守护进程消失了,那么它提供的服务将不再能被使用。

在守护进程中,最重要的一个是超级守护进程inetd,这个进程接管了大部分网络服务,但并不是对每个服务都自己进行处理,而是依据连接请求,启动不同的服务程序与客户机打交道。inetd支持网络服务种类在它的设置文件/etc/inet.conf中定义。inet.conf文件中的每一行就对应一个端口地址,当inetd接受到连接这个端口的连接请求时,就启动相应的进程进行处理。使用inetd的好处是系统不必启动很多守护进程,从而节约了系统资源,然而使用inetd启动守护进程相应反应会迟缓一些,不适合用于被密集访问的服务进程

ygwu @ 2005年04月18日 上午10:03

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题

    Python – paramiko 模块远程执行ssh 命令 nohup 不生效的问题解决 1、使用 paramiko 模块ssh 登陆到 linux 执行nohup命令不生效 # 执行命令 def command(ssh_config, cmd, result_print=None, nohup=False): ssh ...

    25个SSH最实用的命令.docx

    21. **保持SSH会话开放**:使用`nohup`或`screen`命令防止SSH断线导致进程终止。 22. **更稳定,更快,更强的SSH客户端**:考虑使用如`OpenSSH`的更新版本,或者使用如`mosh`这样的替代客户端,它们提供了更好的...

    Linux_SSH_命令大全完整珍藏版

    - `:nohup command &`: 在后台运行命令,即使SSH断开也不会停止。 最后,`nohup`命令可以确保程序在SSH会话关闭后继续运行,例如`nohup wget http://www.phpv.net/file.tar.gz &`。 了解并熟练使用这些命令,将极...

    最有用的Linux命令使用技巧

    3.2 nohup, disown, screen, tmux * 当你需要将进程永远处在后台运行时,这两个命令很有用。 四、文件和目录操作 4.1 lsof, netstat -lntp 查询当前什么进程在监听什么端口 * set 在 bash 脚本中,使用 set -x ...

    【已解决】利用nohup使得Python Flask项目在Ubuntu系统上后台运行

    一、问题: 今天在部署Python Flask项目到线上的时候,在虚拟环境中,运行项目可以正常访问到api,但是在Xshell中,一旦Ctrl+C或者关闭ssh,他就停止了,api再也请求不到了 二、nohup 1、nohup 是 no hang up 的缩写...

    docker 部署spark集群配置文件

    -ssh_config -spark-env.sh -spark-defaults.conf -slaves -restart-hadoop.sh -restart_containers.sh -profile -pip.conf -nohup.out -masters -master -mapred-site.xml -init_mysql.sh -init_hive.sh -hive-site...

    java控制台输入cmd命令, ssh远程linux shell命令, 并打印命令输出到控制台

    在Java编程中,有时我们需要与操作系统进行交互,执行系统级别的命令,例如在控制台执行CMD命令或者通过SSH连接远程Linux服务器执行shell命令。这在自动化脚本、系统管理或者远程监控等场景中非常常见。本篇文章将...

    一文明白使用nohup将服务器训练程序后台运行不关闭+随时通过查看训练情况输出与visdom可视化

    使用nohup将训练程序后台不间断运行+随时查看训练情况输出与可视化使用服务器进行远程训练nohup指令和查看输出缺省输出文件的写法指定输出文件的写法和CUDA一起用实时查看out配合visdom使用 使用服务器进行远程训练 ...

    ssh命令详解和例子

    ### SSH命令详解与实例 SSH(Secure Shell)是一种网络协议,用于操作远程计算机上的服务,提供了安全的登录、文件传输及执行远程命令的功能。本文将深入解析SSH的基础命令及其应用场景,帮助读者更好地理解和掌握...

    Linux 运行jar包的几种方式

    第三,`nohup`命令常用于确保程序在用户断开SSH连接后仍能持续运行。例如,`nohup java -jar xxx.jar &`。此时,程序的输出会被重定向到`nohup.out`文件,除非另有指定。如果希望将输出重定向到特定文件,如`aaa.log...

    linux_ssh命令

    ### Linux SSH 命令详解 #### 概述 Linux SSH 命令是一种非常重要的工具,用于在不同计算机之间建立安全的连接。通过 SSH,用户可以在本地机器上控制远程服务器,执行各种任务,如文件传输、命令执行等。本文将详细...

    通过python 执行 nohup 不生效的解决

    通过paramiko模块ssh登录linux,然后用exec_command方法执行带有nohup的shell命令不生效,python脚本如下: import paramiko import time ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko....

    windows dos环境下直接运行linux命令集合

    dllwrap.exe nohup.exe tbl.exe dos2unix.exe objcopy.exe tee.exe du.exe objdump.exe test.exe dump.exe od.exe texindex.exe dumper.exe oldfind.exe tfmtodit.exe echo.exe openssl.exe touch.exe editrights....

    linux后台执行命令&和nohup的具体使用方法

    本文主要讲解两种常见的后台执行命令:`&` 和 `nohup`。 首先,`&` 符号用于将命令放入后台执行。当你在命令末尾添加 `&` 时,程序将不会阻塞终端,而是立即返回命令提示符,允许你继续进行其他操作。例如,如果你...

    SSh命令大全SSh命令大全

    - 使用`nohup`命令可以启动后台进程,并且即使SSH会话断开,该进程仍然运行。 - `nohup wget http://www.phpv.net/file.tar.gz &`:在后台下载文件,即使SSH断开连接也不会中断下载。 - 在下载过程中,可以通过`wget...

    Linux讲义PPT

    - `nohup`:让命令在后台持续运行。 5. 网络通信: - `ifconfig`:查看或配置网络接口。 - `ping`:测试网络连通性。 - `netstat`:显示网络连接、路由表等信息。 - `telnet`/`nc`:网络连接测试工具。 二、...

    Linux_SSH命令大全

    使用`nohup`命令可以实现这一点,比如`nohup wget ***`,这条命令会继续运行wget下载任务,即便SSH会话结束。 在使用SSH和相关命令时,安全性和效率是两个需要重视的方面。例如,SSH提供了强大的加密功能,确保了...

Global site tag (gtag.js) - Google Analytics