Eric 发布的文章

关于 linux PS 命令

虽然经常用, 但是不是那么熟悉它竟然能提供那么多的信息. PS 是 Process Status 的缩写. top 命令的输出和 PS 很类似, 只不过是实时刷新.

ps --help all //显示所有的命令行参数
ps L //显示输出格式
ps H 16705 //显示特定进程的线程信息

ps -o ppid,pid,lwp,nlwp,%cpu,%mem,cputime,cmd,args k -%cpu H 16705 //输出一个进程的所有线程, 并且自定义格式, 按照 cpu 使用时间倒序排列.

关于格式中的nlwp: Number of Lightweight Processes. This basically amounts to the number of threads a program has running

一般结合 https://www.pslinux.online/index.php & ps --help all 就能找到想用的参数.

JVM 网络连接设置的一些属性

  1. java.net.preferIPv4Stack (default: false) 有 IPv6 就用 IPv6;
  2. java.net.preferIPv6Addresses (default: false) 为了向前兼容性;
  3. networkaddress.cache.ttl 缓存成功的 lookup 多少秒. -1=永远缓存. 若security manager被安装,则永远缓存, 若没安装, 则缓存固定时间;
  4. networkaddress.cache.negative.ttl (default: 10) 失败的 lookup 会缓存多少秒. 0=不缓存, -1=永远缓存;
  5. http.agent (default: Java1.4.0) 当发出 http request 的时候,在 header 中显示的 agent;
  6. http.keepAlive (default: true) 是否使用 http 持久连接;
  7. http.maxConnections (default: 5) 同一地址, 在 keep-live 情况下,保持多少 idle 的连接数;
    其他:
    http.proxyHost (default: )
    http.proxyPort (default: 80 if http.proxyHost specified)
    http.nonProxyHosts (default:

ftp.proxyHost (default: )
ftp.proxyPort (default: 80 if ftp.proxyHost specified)
ftp.nonProxyHosts (default: )

官方解释在这里: https://docs.oracle.com/javase/7/docs/technotes/guides/net/properties.html

window 安装可执行文件为系统服务

  1. 首先下载WinSW.NET2.exe
  2. 下载后重命名它为 MyServiceName.exe;
  3. 新建一个文件名为 MyServiceName.xml 文件, 与MyServiceName.exe 同一个目录, 类似如下:

    olapScrubber
    olapScrubber
    olapScrubber
    C:\sre\run.bat
    c:\sre\logs</logpath>
    roll

    更多配置 参考这里: https://github.com/kohsuke/winsw/blob/master/doc/xmlConfigFile.md
  4. 执行 MyServiceName.exe install 就安装好了.

如何删除:
sc delete MyServiceName.exe
参考这里:
https://stackoverflow.com/questions/10061191/add-nginx-exe-as-windows-system-service-like-apache

使用 certutil 编码和编码二进制文件

certutil 是 windows 自带的工具:
https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certutil

二进制不方便 copy, 使用 certutil 你可以转换二进制位打印字符, 之后你就可以 copy 了.
远程桌面的时候, 使用剪贴板 copy 就行.

先转成文本
D:\softwares>certutil -encode WinSW.NET2.exe WinSW.NET2.txt
再转回来.
D:\softwares>certutil -decode WinSW.NET2.txt WinSW.NET2.exe

about SSL, TLS some links

分析一个证书的详细内容, 接受的加密算法
https://www.ssllabs.com/ssltest/analyze.html?d=sourceforge.net
如何 debug SSL
https://docs.oracle.com/javase/7/docs/technotes/guides/security/jsse/ReadDebug.html
关于 jdk 支持的 SSL, TLS 版本
https://blogs.oracle.com/java-platform-group/diagnosing-tls,-ssl,-and-https

https://www.ibm.com/support/knowledgecenter/en/SSYKE2_7.0.0/com.ibm.java.security.component.70.doc/security-component/jsse2Docs/ciphersuites.html

https://blogs.oracle.com/java-platform-group/diagnosing-tls,-ssl,-and-httpshttps://docs.oracle.com/javase/7/docs/technotes/guides/security/jsse/JSSERefGuide.html#HowSSLWorks

https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#ciphersuites

https://confluence.atlassian.com/stashkb/list-ciphers-used-by-jvm-679609085.html