bash 规定, 单引号里不能再出现单引号, 转义也不行, so, bash再规定, $'' 里可以转义单引号

sh -c $'ls -l /tmp | awk \'{print $5}\''

sh -c 'ls -l /tmp | awk '\''{print $5}'\'''


在Linux中,进程中的线程在内核态中是否有独立的PID?

Linux下内核其实本质上没有线程的概念, Linux下线程其实上是与其他进程共享某些资源的进程而已。但是我们习惯上还是称他们为线程或者轻量级进程。

Linux下只有一种类型的进程,那就是task_struct。

对于 Linux 来讲,所有的线程都当作进程来实现,因为没有单独为线程定义特定的调度算法,也没有单独为线程定义特定的数据结构(所有的线程或进程的核心数据结构都是 task_struct)。

用户空间(用户态)Process就是进程。

内核空间(内核态)Thread就是Process。

进程task_struct中pid存储的是内核对该进程的唯一标示, 即对进程则标示进程号, 对线程来说就是其线程号, 那么对于线程来说一个线程组所有线程与领头线程具有相同的进程号,存入tgid字段
因此getpid()返回当前进程的进程号,返回的应该是tgid值而不是pid的值, 对于用户空间来说同组的线程拥有相同进程号即tpid, 而对于内核来说, 某种成都上来说不存在线程的概念, 那么pid就是内核唯一区分每个进程的标示。

讲进程和多线程,搞清楚Apache和nginx的实现原理和他们之间的区别就明白了,本质上多线程就是在内存中共享了一部分内存,从而提高效率,进程的内存空间是独享的,这也就是nginx为什么比Apache更适合高负载的场合,而Apache更稳定的原因,一个是拿管理的复杂换取高效率,一个是拿空间换取稳定性。


cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 

修改时区


[root@sf118100 ~]# cat test.txt 

a=1

b=2

c=3

[root@sf118100 ~]# a=aaa

[root@sf118100 ~]# sed "s/a.*/a=$a/g" test.txt 

a=aaa

b=2

c=3

''内出现需转义的符号用“”


weblogic集群:先启nodeManager.sh再启startWeblogic.sh

vi /u02/weblogic/user_projects/domains/base_domain/bin/setDomainEnv.sh

#第321行加入

JAVA_OPTIONS="${JAVA_OPTIONS} -Dweblogic.deploy.MaxPostSize="1610612736""


cd /u05/weblogic/wlserver_10.3/common/nodemanager/

vi nodemanager.properties 

ListenAddress=10.26.100.50

SecureListener=false

StartScriptEnabled=true


[root@weblogic ~]# cd /u05/weblogic/wlserver_10.3/common/bin/

[root@weblogic bin]# ./pack.sh -domain=/u05/weblogic/user_projects/domains/base_domain -template=/u05/weblogic/user_projects/domains/base_domain.jar -template_name=base_domain

<< read domain from "/u05/weblogic/user_projects/domains/base_domain"

>>  succeed: read domain from "/u05/weblogic/user_projects/domains/base_domain"

<< write template to "/u05/weblogic/user_projects/domains/base_domain.jar"

....................................................................................................

>>  succeed: write template to "/u05/weblogic/user_projects/domains/base_domain.jar"

<< close template

>>  succeed: close template


oracle    8193  8146 85 17:26 ?        00:07:29 

/usr/java/jdk1.8.0_111/bin/java -server 

-Xms1024m -Xmx2048m -XX:MaxPermSize=512m 

-Dweblogic.Name=AdminServer 

-Djava.security.policy=/u02/weblogic/wlserver_12.1/server/lib/weblogic.policy 

-Dweblogic.ProductionModeEnabled=true 

-Djava.endorsed.dirs=/usr/java/jdk1.8.0_111/jre/lib/endorsed:/u02/weblogic/wlserver_12.1/endorsed -da 

-Dplatform.home=/u02/weblogic/wlserver_12.1 -Dwls.home=/u02/weblogic/wlserver_12.1/server 

-Dweblogic.home=/u02/weblogic/wlserver_12.1/server -Dweblogic.management.discover=true 

-Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole=false 

-Dweblogic.ext.dirs=/u02/weblogic/patch_wls1211/profiles/default/sysext_manifest_classpath:

/u02/weblogic/patch_ocp371/profiles/default/sysext_manifest_classpath weblogic.Server