小编t12*_*3yh的帖子

std :: thread:如何等待(join)任何给定的线程完成?

例如,我有两个线程,t1t2.我想等待t1 t2完成.这可能吗?

如果我有一系列线程,比如说,a std::vector<std::thread>,我该怎么做?

c++ multithreading c++11

8
推荐指数
1
解决办法
4588
查看次数

如何对子流程进行seccomp?

我想用它execvp来创建一个子进程并对其进行 seccomp (只给它读写权限,没有open)。为了实现这一目标,我必须调用函数的Seccomp之前 execvp(也称open),因此我应该给自己execvpopen许可。但这也意味着我给了由此execvp类权限打开的子进程。有没有办法阻止子open进程调用(例如,在调用 seccomp 之前将其加载到内存中)?

#include <iostream>
#include <vector>
#include <seccomp.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

using namespace std;

int main()
{
    cerr << "Starting..." << endl;

    scmp_filter_ctx ctx;
    ctx = seccomp_init(SCMP_ACT_KILL); // default action: kill

    seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(rt_sigreturn), 0);
    seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(exit), 0);
    seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(read), 0);
    seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(write), 0);
    seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(brk), 0);
    seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mmap), 0); …
Run Code Online (Sandbox Code Playgroud)

c++ linux sandbox seccomp

6
推荐指数
1
解决办法
1592
查看次数

如何创建可以在 Oracle 12c 中创建用户的用户?

我已经创建了一个用户,授予了您在 SQL Developer 中可以看到的所有权限,除了 sysdba 并以新用户身份登录,但我仍然无法创建其他用户。

这是我到目前为止所做的:

  1. 以本地 sysdba 身份登录;

  2. 跑:

    CREATE USER USERA IDENTIFIED BY "PWDpwd123" DEFAULT TABLESPACE TBS1
    TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;
    
    Run Code Online (Sandbox Code Playgroud)
  3. 将您在 SQL Developer 中可以看到的所有权限和角色授予 USERA;

  4. 以用户身份登录;

  5. 跑:

     CREATE USER USERB IDENTIFIED BY "pwd321" DEFAULT TABLESPACE TBS2
     TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;
    
    Run Code Online (Sandbox Code Playgroud)

然后我得到一个ORA-01031 ERROR. 怎么了?非常感谢您的帮助!

sql oracle

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

标签 统计

c++ ×2

c++11 ×1

linux ×1

multithreading ×1

oracle ×1

sandbox ×1

seccomp ×1

sql ×1