问题描述
在Amazon Linux EC2实例中将dotnet core web api
作为服务运行时,我遇到一个非常奇怪的问题。
我的EC2详细信息:
NAME="Amazon Linux AMI"
VERSION="2018.03"
ID="amzn"
ID_LIKE="rhel fedora"
VERSION_ID="2018.03"
PRETTY_NAME="Amazon Linux AMI 2018.03"
问题:
当我将应用程序作为后台进程运行时(如下所示),它运行正常:
sudo nohup /etc/my_dotnet/my_dotnet_webapi_folder/my_dotnet_webapi > Output2.out 2> Error2.err < /dev/null &
在执行上述命令并将其运行为BG process
后,如果进程正在运行,我可以进行API
调用
但是当我运行与service
相同的操作时,我无法调用APIs
在两种情况下,我sudo ps -aux | more
都可以看到进程正在运行
应用程序的init.d
文件内容:
COMMENT!/bin/sh
COMMENT
COMMENT description: Some DESCRIPTION
COMMENT processname: my_dotnet_webapi
COMMENT pidfile: /var/run/my_dotnet_webapi.pid
COMMENT Source function library.
. /etc/rc.d/init.d/functions
COMMENT Source networking configuration.
. /etc/sysconfig/network
COMMENT Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
prog="PS API - DEV"
my_dotnet_webapi="/etc/my_dotnet/my_dotnet_webapi_folder/my_dotnet_webapi"
lockfile="/var/lock/subsys/my_dotnet_webapi"
pidfile="/var/run/${prog}.pid"
start() {
echo -n $"Starting $prog: "
sudo nohup $my_dotnet_webapi> Output2.out 2> Error2.err < /dev/null &
sudo touch $lockfile
retval=$?
echo
[ $retval -eq 0 ]
return $retval
}
stop() {
echo -n $"Stopping $prog: "
sudo kill -p $pidfile $my_dotnet_webapi
retval=$?
echo
[ $retval -eq 0 ] && sudo rm -f $lockfile
return $retval
}
restart() {
return 6
stop
start
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart)
$1
;;
*)
echo $"Usage: $0 {start|stop|reload}"
exit 2
esac
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)