关于pid_t和fork()的理解,linux tomcat mysql php安装

1.关于pid_t和fork()的理解

今天学习进程的时候碰到一个语句:pid_t pid = fork();

这里的pid_t类似一个类型,就像int型一样,int型定义的变量都是整型的,pid_t定义的类型都是进程号类型。这个语句的意思是定义了一个pid_t类型的变量pidfork()函数返回一个进程号,这个进程号赋给了pid。pid_t在头文件types.h(sys/types.h)中定义、

其中fork( void )为创建子进程,有趣的是他有三种不同的返回值

1、在父进程中,fork返回新创建的子进程的PID

2.、在子进程中,fork返回0

3、如果出现错误,fork返回一个负值

另外在子进程被创建之前,只有一个进程在运行,但在fork创建子进程后,两进程同时运行

int main(int argc ,char *argv )

{

// printf("PID =%d \n",getpid());

// printf("PPID =%d \n",getppid());

    pid_t pid;        //定义一个进程号类型的变量 pid

                            // 在此程序中,此时只有一个进程在运行      

   pid=fork();       // 在此程序中,此时只有两个进程在运行   

   if(pid<0)  

         printf("error in fork!");

   else if (pid==0)

          printf("I am the child process,ID is %d\n",getpid());

   else

           printf("I am the parent process,ID is %d\n",getpid());

   return 0;

}
运行结果:创建了一个子进程,输出的结果为 

              I am the parent process,ID is 13655

              I am the child process, ID is 13525,不同次执行时,进程的ID一般是不同的。

http://blog.sina.com.cn/s/blog_c5082df30102vyqf.html

2.linux tomcat mysql php安装

3.2安装和配置Apache Web服务器

1、检查是否已经安装apache

# rpm -qa |grep httpd

2、yum安装apache

# yum -y install httpd

# rpm -qa |grep httpd

3、开启停止重启apache服务

# service httpd start | stop | restart

     检查是否已经启动apache服务

# service hsystemctl status httpd.service

# ps -A|grep httpd

# firewall-cmd --permanent --zone=public --add-service=http

# firewall-cmd --permanent --zone=public --add-service=https

# firewall-cmd --reload

     命令含义:

--zone #作用域

--add-service=http #添加服务;也可以添加端口

--add-port=80/tcp  #添加端口,格式为:端口/通讯协议

--permanent   #永久生效,没有此参数重启后失效

4、设置开机自动启动

# chkconfig --level 35 httpd on

5、外网访问验证

http://192.168.100.221/

3.3安装和配置MySQL数据库服务器

1、下载并安装MySQL官方的 Yum Repository

# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

2、安装MySQL的Yum Repository

# yum -y install mysql57-community-release-el7-10.noarch.rpm

3、之后就开始安装MySQL服务器。

# yum -y install mysql-community-server

4、启动MySQL

# systemctl start  mysqld.service

5、查看MySQL运行状态

# systemctl status mysqld.service

6、在日志文件中找出root的登陆密码

# grep "password" /var/log/mysqld.log

2019-11-12T12:55:11.282657Z 1 [Note] A temporary password is generated for : ll4XjeyP-bLw

7、登陆数据库

# mysql -uroot -p

8、修改root密码

> ALTER USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘MySQL_2019‘;

9、安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉

# yum -y remove mysql57-community-release-el7-10.noarch

3.4安装和配置PHP

1、 yum安装PHP

#yum install php –y

2、测试是否安装成功

#php -v