我想构建一个执行命令的bash脚本,同时执行其他操作,如果脚本被杀死,可能会杀死命令.比如说,执行大文件的cp并同时打印自复制开始以来经过的时间,但是如果脚本被杀死它也会杀死副本.我并不想用rsync的,原因有二:1)是缓慢的,2)我想学习如何做到这一点,它可能是有用的.我试过这个:
until cp SOURCE DEST
do
#evaluates time, stuff, commands, file dimensions, not important now
#and echoes something
done
Run Code Online (Sandbox Code Playgroud)
但是它没有执行do - done块,因为它正在等待副本结束.你能建议一下吗?
我正在尝试std::unique_ptr类继承(即多态性)。我正在运行的代码如下:
#include<iostream>
#include<memory>
class polygon {
public:
int side;
polygon(int i): side(i) {std::cout<<"polygon created"<<std::endl;}
virtual int perimeter() = 0;
~polygon() {std::cout<<"polygon destroyed"<<std::endl;}
};
class triangle : public polygon {
public:
triangle(int i): polygon::polygon{i} {std::cout<<"triangle created"<<std::endl;}
int perimeter() { return side*3; }
~triangle() {std::cout<<"triangle destroyed"<<std::endl;}
};
class square : public polygon {
public:
square(int i): polygon::polygon{i} {std::cout<<"square created"<<std::endl;}
int perimeter() { return side*4; }
~square() {std::cout<<"square destroyed"<<std::endl;}
};
int main() {
std::unique_ptr<polygon> pp = std::make_unique<square>(5); // (1)
std::cout << …Run Code Online (Sandbox Code Playgroud)