当前位置: 首页 > wzjs >正文

沈阳网站建设哪家好北京网站优化seo

沈阳网站建设哪家好,北京网站优化seo,全国为何又突然做核酸了,wordpress 中文测试数据前言 问题来自于文章 shell脚本 后台启动 程序1 “tail -f log“, ctrl c 导致程序1中断 中的测试用例 Test07Signal2ParentProcess, 可以看到 我当时标记了一个 "todo, not work in hostpostVM9" 然后 问题是这样的, 我同一台机器, 然后 jdk8 带上 SIGINFO 去执行…

前言

问题来自于文章 shell脚本 后台启动 程序1 + “tail -f log“, ctrl +c 导致程序1中断 中的测试用例 Test07Signal2ParentProcess, 可以看到 我当时标记了一个 "todo, not work in hostpostVM9"

然后 问题是这样的, 我同一台机器, 然后 jdk8 带上 SIGINFO 去执行 Test07Signal2ParentProcess 没有问题, 但是 jdk9 带上 SIGINFO 去执行 Test07Signal2ParentProcess 报错如下 

然后 jdk9 执行报错如下 

Exception in thread "main" java.lang.IllegalArgumentException: Unknown signal: INFOat java.base/jdk.internal.misc.Signal.<init>(Signal.java:148)at jdk.unsupported/sun.misc.Signal.<init>(Signal.java:139)at com.hx.test13.Test07Signal2ParentProcess.main(Test07Signal2ParentProcess.java:50)

这个就很奇怪了,信号支持哪些 不是和操作系统有关系嘛? 为什么 和 jdk 也有关系 

我们这里会大致剖析一些东西, 在 mac 上面造成上面这个问题的原因 

kill -l 所支持的信号列表是怎么来的? 

操作系统支持 的信号列表?

jdk8/jdk9 对于 Signal.findSignal 的处理

首先看一下 jdk9, jdk9 这里几种类unix操作系统是走的统一处理 

是从 g_signal_info 中遍历匹配给定的信号名称, 如果找不到 返回 -1, 否则返回对应的 索引

g_signal_info 是取自于这里, 根据 signal.h 中是否支持给定的信号, 创建的信号映射数组  

mac 上面是支持 SIGINFO 信号, 但是 g_signal_info 中没有 SIGINFO 的处理, 因此 最终 jdk9 中不支持 SIGINFO 

最终没有找到 SIGINFO 的信号, 然后 外层 jdk 抛出异常 

最终由 Signal 的构造方法抛出 "Unknown signal: INFO" 的异常 

再来看一下 jdk8, jdk8 这里不同的操作系统是走的不同的处理 

signaltable 是根据操作系统, 配置死的 

jdk8 支持的 信号列表

HUP
INT
QUIT
ILL
TRAP
ABRT
EMT
FPE
KILL
BUS
SEGV
SYS
PIPE
ALRM
TERM
URG
STOP
TSTP
CONT
CHLD
TTIN
TTOU
IO
XCPU
XFSZ
VTALRM
PROF
WINCH
INFO
USR1
USR2

jdk9 支持的信号列表 

ABRT
ALRM
BUS
CHLD
CONT
EMT
FPE
HUP
ILL
INT
IO
KILL
PIPE
PROF
QUIT
SEGV
STOP
SYS
TERM
TRAP
TSTP
TTIN
TTOU
URG
USR1
USR2
VTALRM
WINCH
XCPU
XFSZ

mac 支持的信号列表

HUP
INT
QUIT
ILL
TRAP
ABRT
POLL
IOT
EMT
FPE
KILL
BUS
SEGV
SYS
PIPE
ALRM
TERM
URG
STOP
TSTP
CONT
CHLD
TTIN
TTOU
IO
XCPU
XFSZ
VTALRM
PROF
WINCH
INFO
USR1
USR2

参照对比一下 jdk8 比 jdk9 多支持一个 SIGINFO 

mac本身 比 jdk8 多支持 POLL, IOT

所以在 jdk8 中支持的 信号是由 jvm 决定的, 在 jdk9 中支持的信号是由 jvm + 操作系统来决定的

kill -l 所支持的信号列表是怎么来的?  

查看一下 coreutils 的 kill 的代码  

将 名称 转换为索引 

名称列表来自于 kill 程序, 信号是否支持 来自于 操作系统的 signal.h 

signal.h 

所以 kill 中支持的信号是由 kill + 操作系统来决定的 

操作系统支持 的信号列表? 

mac 支持如下信号列表 

大部分的 x86 的其他 linux 支持如下的信号列表 

完 

http://www.dtcms.com/wzjs/210019.html

相关文章:

  • 企业做的网站推广费用如何记账可以免费打开网站的软件
  • 西宁中小企业网站建设民生热点新闻
  • 高端定制网站建设高端旅游定制友链交换平台
  • 文山知名网站建设联系电话淘宝推广方法有哪些
  • 织梦网站如何修改数据库配置2023疫情最新情况
  • 企业建立网站主要包括那些流程新产品如何快速推广市场
  • 韩国的 电子商务网站百度 官网
  • 台州手机网站建设广告公司名称
  • 禄劝彝族苗族网站建设四平网络推广
  • 做网站每天更新两篇文章香港疫情最新消息
  • 企业门户网站实现江苏短视频seo搜索
  • 哪里找做网站的公司百度下载安装2019
  • 衙门口网站建设整合营销传播的六种方法
  • 丰宁县网站建设郑州网站关键词排名
  • 关于网站建设的书谷歌浏览器手机版
  • 亚圣信息科技做网站怎么样360手机助手
  • 云服务器做的网站需要备案国内seo公司哪家最好
  • 露天做愛偷拍网站sem优化是什么
  • 中型网站开发语言网站seo在线诊断分析
  • 南昌定制网站开发公司广告开户
  • 个人网站电商怎么做女教师网课入侵录屏冫
  • 专门做兼职的网站合肥网站seo推广
  • 商城网站有哪些功能公司网站营销
  • 农村电子商务网站建设方案关键词优化推广公司
  • cpa广告网站怎么做品牌软文范文
  • 网站优化提升排名seo准
  • 网站制作潍坊区域福州关键词快速排名
  • 网站建设公司 深圳信科nba最新交易新闻
  • 谁会建设网站清博舆情系统
  • 企业做网站优点营销排名seo