小编gah*_*ggs的帖子

如何根据进程名称获取pid

嗨我已经搜索了各种论坛,在这里,我可以找到Linux和Mac的一些答案,但无法找到Unix和特别是Korn Shell的解决方案.

如何从进程ID(pid)获取进程名称(命令名称)

下面引用我从SO发现 这一个 而这其中也

我试过下面的命令

ps -eaf | awk '{ print substr($0, index($0, $9)) }'
Run Code Online (Sandbox Code Playgroud)

上面的命令在给定TIME而不是Month和Date的位置失败(因为在这种情况下,字符串中只有8列)

任何建议都会有所帮助.

unix ksh pid ps

43
推荐指数
2
解决办法
7万
查看次数

JPA条件查询中的条件where子句

我正面临JPA标准查询的问题.如何在条件查询中使用if else添加多个where子句...

我的要求是:

CriteriaBuilder builder = getEm().getCriteriaBuilder();
CriteriaQuery<Object> query = builder.createQuery(Object.class);

// From
Root<EntityClass> entity= query.from(EntityClass.class);
// Select
query.multiselect(entity.get("id").get("col1"),entity.get("id").get("col2"));
// Where
Predicate p1 = builder.and(builder.equal(entity.get("col3"), value3));
Predicate p2 = builder.and(builder.equal(entity.get("col4"), value4));
Predicate p3 = builder.and(builder.equal(entity.get("col5"), value5));
if(someCondition1){
    query.where(p1);
}else if(someCondition2){
    query.where(p1);
}
query.where(p3);
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,语句query.where(p3); 替换先前设置的where子句条件p1和p2.我发现的替代品是如下所示

if(someCondition1){
    query.where(p1, p3);
}else if(someCondition2){
    query.where(p2, p3);
}else{
    query.where(p3);
}
Run Code Online (Sandbox Code Playgroud)

但这不是一个好方法,因为当有很多if-else时,编写重复代码变得非常糟糕.任何人都可以为此解决问题吗?

jpa predicate where-clause criteria-api conditional-statements

8
推荐指数
2
解决办法
2万
查看次数

在pl/sql代码中调用TO_DATE时要注意的确切异常

我有下面的代码to_date('1311313', 'yymmdd')实际上抛出异常说invalid month.哪个可以管理

exception
when others then
  sop('date format is wrong');
Run Code Online (Sandbox Code Playgroud)

这里的问题是一切都会被捕获,我不想做,好像会发生其他错误,然后它也会传递消息date format is wrong.我也不想创建用户定义的异常.只是想知道哪个异常正在被抛出,以便我可以在我的代码中使用,如下所示

exception
when name_of_exception then
  sop('date format is wrong');
Run Code Online (Sandbox Code Playgroud)

oracle plsql exception to-date

2
推荐指数
1
解决办法
1万
查看次数