我在服务器上运行了以下进程。我只需要获得vehicledetailformatter-1.0.jar进程名称。但是当我试图运行以下命令时,它也会重新审视不需要的进程。请参阅下文。
ps aux | grep "[v]ehicledetailformatter-1.0.jar"
52843 4190 0.1 1.2 1405336 97000 ? Sl Feb14 1:35 /data01/appserver/jboss1/jboss-eap-6.4/bin/jre1.8.0_112/bin/java -jar vehicledetailformatter-1.0.jar
52843 4259 0.1 0.9 1404388 77860 ? Sl Feb14 1:36 /data01/appserver/jboss1/jboss-eap-6.4/bin/jre1.8.0_112/bin/java -jar nonvehicledetailformatter-1.0.jar
52843 4294 0.1 1.1 1405408 96296 ? Sl Feb14 1:37 /data01/appserver/jboss1/jboss-eap-6.4/bin/jre1.8.0_112/bin/java -jar vehicledetailformatter-1.0.jar
52843 4751 0.1 1.2 1405744 100252 ? Sl Feb14 1:35 /data01/appserver/jboss1/jboss-eap-6.4/bin/jre1.8.0_112/bin/java -jar vehicledetailformatter-1.0.jar
52843 21402 0.1 0.9 1402260 75372 pts/3 Sl Feb14 1:06 /data01/appserver/jboss1/jboss-eap-6.4/bin/jre1.8.0_112/bin/java -jar vehicledetailformatter-1.0.jar
但是将来的jar版本将更新到另一个版本。所以在脚本中我使用jar文件作为变量,如jar_file =“”vehicledetailformatter * .jar“
您能否帮我找到正确的流程名称?
答案 0 :(得分:0)
func funcForGesture(sender: UISwipeGestureRecognizer){
if sender.direction == .left {
//scroll to next item
let cellItems = self.joke_cards.indexPathsForVisibleItems
let next = cellItems[0] as! IndexPath
self.joke_cards.scrollToItem(at: next, at: .centeredHorizontally, animated: true)
}
}
(注意引号内的空格)。
关于版本号更改,这有效:
ps aux |grep " vehicledetailformatter-1.0.jar"
另请注意点之前的ps aux |grep " vehicledetailformatter-[0-9]*\.[0-9]*\.jar"
反斜杠:严格来说,即使在第一个示例中也应该使用它,同时正则表达式中的尾随\
也不会坏。
还有其他可能性,但需要阅读有关正则表达式的内容。
答案 1 :(得分:0)
对于processname前面的空格的匹配强制正则表达式匹配整个名称,添加。*来吃掉所有版本信息并将正则表达式锚定到行尾将肯定只捕获您请求的进程
ps aux | grep " vehicledetailformatter-.*\.jar$"