我从我的shell脚本开始后台进程,我想在脚本完成时终止这个进程.
如何从我的shell脚本中获取此进程的PID?据我所知,变量$!
包含当前脚本的PID,而不是后台进程.
在2011年,哈德森和詹金斯跟随(恕我直言)的情况 - 哈德森有点稳定,但詹金斯的发展有点快.
现在2012年"哈德森与詹金斯"的情况如何?
在Java中是否可以通过反射访问私有字段str?例如,获取此字段的值.
class Test
{
private String str;
public void setStr(String value)
{
str = value;
}
}
Run Code Online (Sandbox Code Playgroud) 调用存储在变量中的某些命令的正确方法是什么?
1和2之间有什么区别吗?
#!/bin/sh
cmd="ls -la $APPROOTDIR | grep exception"
#1
$cmd
#2
eval "$cmd"
Run Code Online (Sandbox Code Playgroud) 我来自乌克兰.
当我在浏览器中打开Jenkins时,我看到了俄语中的所有UI.
我在Windows上运行Jenkins.
但是 - Windows配置中没有俄语"区域和设置".格式 - 英语(美国).位置 - 美国.只有时区是乌克兰语 - UTC +02:00.
是否有可能迫使詹金斯用英语显示用户界面?
PS.我以前和Hudson没有这样的问题.
Locale Plugin帮助将默认语言环境更改为英语.
我更改了Chrome配置中的语言,现在Jenkins是英文:)
我有证书链的文件 - certificate.cer:
subject=/C...
issuer=/C=US/O=VeriSign, Inc...
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
subject=/C=US/O=VeriSign, Inc...
issuer=/C=US/O=VeriSign, Inc...
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
subject=/C=US/O=VeriSign, Inc...
issuer=/C=US/O=VeriSign, Inc...
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)
我需要将这个证书链添加到密钥库.
我所做的:
openssl x509 -outform der -in certificate.cer -out cert.der
keytool -v -importcert -alias mykey -file cert.der -keypass <passwd> -keystore keystore -storepass <passwd> -alias <myalias>
Run Code Online (Sandbox Code Playgroud)
结果我在密钥库中只有1个证书.
但应该有3.
什么可能是错的?
解决方案:
CA向我发送了PKCS#7格式的证书.
我将它们存储在certificate.p7b文件中,然后通过以下命令成功将它们添加到密钥库:
keytool -import -trustcacerts -file certificate.p7b -keystore keystore -storepass <mypasswd> -alias "myalias"
Run Code Online (Sandbox Code Playgroud) 有时我们在jboss/server/web/tmp/vfs-nested.tmp 目录中有大量的JAR文件 .
例如,今天这个目录包含超过350k的jar文件.
但在其他主机上,此目录中只有2个jar文件.
这个问题的根本原因是什么?
我们使用JBoss 5.1
更新:
我在JBoss 5.1.0.GA的发行说明中找到了以下信息:
JBoss VFS提供了一组不同的开关来控制它的内部行为.JBoss AS默认设置jboss.vfs.forceCopy = true.要查看所有提供的VFS标志,请查看VFSUtils.java类的代码.
所以我不明白我应该设置什么?
我应该设置-Djboss.vfs.forceNoCopy = true还是-Djboss.vfs.forceCopy = false?
或者我应该设置它们两个?
更新1:
我已阅读整个主题http://community.jboss.org/thread/2148?start=0&tstart=0
现在我不应该更改jboss.vfs.forceCopy或jboss.vfs.forceNoCopy.
根据这个线程,我将出现OutOfMemory错误而不是tmp目录中的大量文件.
今天有人告诉我"Java EE程序员不写文件".为什么我不能从Java EE容器中写入文件(例如从JBoss)?怎么了?
node-gyp在安装和构建本机模块(如iconv,ref,ffi等)时从Internet下载以下文件:
https://nodejs.org/download/release/v6.10.0/node-v6.10.0-headers. tar.gz
https://nodejs.org/download/release/v6.10.0/win-x86/node.lib
https://nodejs.org/download/release/v6.10.0/win-x64/node.lib
https ://nodejs.org/download/release/v6.10.0/SHASUMS256.txt
如何让node-gyp从本地文件夹而不是从Internet使用这些文件?
我找到了以下解决方案:
1.下载https://nodejs.org/download/release/v6.10.0/node-v6.10.0-headers.tar.gz
2.将其解压缩到某个本地文件夹.
3.在此本地文件夹中创建文件夹发布.
4.将文件https://nodejs.org/dist/v6.10.0/win-x64/node.lib下载到文件夹Release中.
5.在.npmrc中设置属性nodedir,它将指向包含解压缩标头的文件夹:
nodedir = D:\ tools \node_src \node-v6.10.0-headers
现在npm安装包和node-gyp构建本机包,而无需从Internet下载节点头和库.
这是一种正确的方法吗?
我在文档中找不到我应该下载node.lib并将其放到Release目录中.
在分析了node-gyp的跟踪和node-gyp的代码后,我决定这样做.
是否可以使用一些npm_config_xxx属性设置node.lib的位置?