8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

如何加载一次并运行多次?

TheNightwalker 1月前

23 0

现在我在 Linux 上有一个应用程序,我想运行它 100 次,因此我使用以下命令:for i in {..100}; do ./app; done在 Linux 上运行上述命令后,我将立即删除该应用程序;如果这样,...

现在我 app 在 Linux 上有一个,我想运行它 100 次,所以我使用以下命令:

for i in {..100}; do ./app; done

在 Linux 上运行上述命令后,我会立即 app 删除 app 只能运行一次,因为第二次运行将找不到 app 。我的问题是, app 如果在运行上述循环命令后删除“app”,我该如何运行 100 次?

----------------已更新----------------------------------------很抱歉出现一些混淆,现在我将其清除如下:

  1. 我存钱 app 然后 /root/tmp 现在跑步 cd /root/tmp
  2. 我跑 nohup for i in {..100}; do ./app; done & ;
  3. app 通过命令 rm -rf app

然后我发现 app 只运行一次,因为第一次运行后被 app 删除了 3 .

我的问题是,我在上面删除它之后想要运行 app 多次 3 ,我想也许我应该在 2 我运行的 nohup for i in {..100}; do ./app; done & .

帖子版权声明 1、本帖标题:如何加载一次并运行多次?
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由TheNightwalker在本站《shell》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 你遇到了典型的竞争条件。有一个循环正在运行,它使用了应用程序,与此同时,你删除了它。只需等待循环完成即可。顺便说一句:你为​​什么要给出

  • 删除二进制文件后,您将无法执行它。nohup 需要命令和可选参数,而不是 shell 命令序列。循环仅使用 运行一次 i='{..100}' 。这可能是您想要做的:

    # nohup bash -c 'cd /root/tmp && for((i=0;i<100;i++)); do ./app; done; rm -fr app' &
    

    如果应用程序在每次循环迭代中都需要删除自身,请在启动之前制作一个副本,然后在每次循环迭代中恢复它:

    # nohup bash -c 'cd /root/tmp && { cp -pr app app.backup && for((i=0;i<100;i++)); do cp -pr app.backup app && ./app; rm -fr app; done; }'
    

    如果您需要 cd / 在脚本运行时 /root/tmp 则长时间运行的命令(由 nohup 暗示)通常会受益

返回
作者最近主题: