Linux中Tomcat启动失败

Linux中Tomcat启动失败,第1张

1.启动的时候出现  This file is needed to run this program  的错误信息     解决方案:         在Tomcat的bin目录下执行chmod +x *.sh         然后执行sh catalina.sh命令         执行sh startup.sh,tomcat就可以启动成功了 2.在Linux中运行Tomcat,显示Tomcat启动了,但是查询不到Tomcat的线程,如下图:    解决方案:      可以用 ./catalina.sh run  查看Tomcat的运行日志,根据日志解决问题,如下图: 显示为权限问题             把权限改了,启动一下Tomcat就好了~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ 链接:https://blog.csdn.net/weixin_41671203/article/details/79757306 ~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~

一种方式是直接运行Python py源文件,方法是先在终端中用cd命令切换到py源文件所在的目录,然后以./文件名的方式运行py源文件(文件名前面加的是一个英文点号和一个英文斜杠,表示在当前目录下运行文件)。但是前提是这个py源文件必须被赋予执行权限,Linux系统中只有有执行权限的文件才可以执行,即便是一个二进制文件没有可执行权限也是不能运行的,给文件添加可执行权限的命令是:

chmod a+x 文件路径

还有一种运行Python py源文件的方式不需要py源文件有可执行权限,方法是用Python命令加py文件名的形式来运行源文件,如果是Python 2.x的Python源文件,就用python命令执行:python 文件名;如果是Python 3的Python源文件,就用python3命令执行:python3 文件名。

主要问题是 main函数里又定义了 p_action/c_action这两个局部变量导致的编译问题。另外程序写的实在不怎么规范,signal函数要求第二个参数是一个型为 void (*func) (int) 的函数指针,也就是说这个函数返回值应该是void,并要求一个int输入参数。我给你改了以下,用下面的代码就没问题了。

#include<signal.h>

#include<stdio.h>

#include<sys/types.h>

#include<unistd.h>

int ntimes=0

void p_action(int)

void c_action(int)

main()

{

int pid,ppid

signal(SIGUSR1,p_action)

switch(pid=fork()){

case -1:

perror("synchro")

break

case 0:

signal (SIGUSR1,c_action)

ppid=getppid()

printf("%d\n",ppid)

for()

{

sleep(1)

kill(ppid,SIGUSR1)

pause()

}

break

default:

printf("father\n")

for()

{

pause()

sleep(1)

kill(pid,SIGUSR1)

}

}

}

void p_action (int sig)

{

printf("p\n")

// printf("Patent caught signal #%d\n",++ntimes)

}

void c_action (int sig)

{

printf("c\n")

//printf("child caught signal #%d\n",++ntimes)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8620488.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存