Linux进程后台运行方法

当用户注销(logout)或者网络断开时,登录的终端会收到HUP(hangup)信号从而关闭其所有子进程。我们可以使用3个命令来实现进程后台运行。

1、nohup
nohup的用途就是让提交的命令忽略hangup信号。

举例:

nohup ./startup.sh &

后台运行tomcat

2、setsid
setsid的作用是让运行的进程不属于接受HUP信号的终端的子进程。

举例:
比如bash登录上来ppid是10627

UID        PID  PPID  C STIME TTY          TIME CMD
root       521     1  0 May21 ?        00:00:01 /usr/sbin/sshd
root     10625   521  0 00:56 ?        00:00:00 sshd: root@pts/0 
root     10627 10625  0 00:56 pts/0    00:00:00 -bash


这时ping一个网址

ping www.google.com

在另一个窗口查看

ps -ef | grep ping

UID        PID  PPID  C STIME TTY          TIME CMD
root     10664 10627  0 00:57 pts/0    00:00:00 ping www.google.com


用setsid后PPID变为1(init进程ID),不会接受HUP信号

setsid ping www.google.com
ps -ef | grep ping

UID        PID  PPID  C STIME TTY          TIME CMD
root     10668     1  0 00:58 ?        00:00:00 ping www.google.com


3、screen
screen可以在后台创建会话,从而让进程在后台运行。

screen常用命令:
screen:开一个窗口
screen -r:恢复进入窗口
screen -r -D:强行进入窗口
在screen窗口内:Ctrl + A D 窗口后台运行
screen -ls:查看全部session列表
screen -d -r:连接一个screen进程,如果该进程是attached,就先踢掉远端用户再连接。
screen -D -r:连接一个screen进程,如果该进程是attached,就先踢掉远端用户并让他logout再连接

weblogic目录结构

1、admin server
admin server就是console控制台,起了admin server就能打开控制台

2、manage server
manage server是被管理服务器,可在控制台上添加(服务器-新建)

3、domain
admin server、manage server要在domain下面

domain - admin server
                  ├── manage server1
                  └── manage server2

4、domain目录结构
weblogic安装目录/bea/Oracle/Middleware/user_projects下的:

domain - ips_domain
                ├── bin (domain的启动脚本)
                ├── config (配置文件)
                ├── security
                ├── servers (domain下的服务器)
                ├── autodeploy
                ├── console-ext
                ├── init-info
                ├── lib (the domain library directory and is usually located at $DOMAIN_DIR/lib)
                ├── pending
                └── tmp

servers下层目录:

domain - ips_domain - servers - pbcs
                                 ├── cache
                                 ├── data
                                 ├── logs (服务器的连接日志)
                                 ├── security (boot.properties)
                                 ├── stage (应用缓存*)
                                 └── tmp

5、weblogic安装目录结构

/bea/Oracle/Middleware
                 ├── coherence_3.5
                 ├── domain-registry.xml (记录domain的条目)
                 ├── logs
                 ├── modules (weblogic运行时需要的jar文件)
                 ├── registry.dat
                 ├── registry.xml (描述产品信息)
                 ├── user_projects (域存放的位置)
                 ├── utils (用户可以存放的第三方工具包)
                 └── wlserver_10.3 (weblogic的主目录)

6、weblogic清缓存
删除domain/servers/(server名)/stage/应用名称里的所有东西

7、stage、nostage发布方式
stage模式:weblogic会将web应用复制到servers下的stage目录,然后运行stage目录里的项目缓存
nostage模式:直接运行web应用安装目录下的项目

8、weblogic状态
就绪 -> starting(启动) -> start running(启动运行中) -> runing(完成-活动)
到就绪状态,容器就ok了,后面是服务器应用的问题