Можете ли вы запустить функцию в фоновом режиме?

Я создаю скрипт, вставляю в него данные, сохраняя, выполняя и удаляя:

vi ~/ms.sh && chmod +x ~/ms.sh && nohup ~/ms.sh && rm ~/ms.sh 

 #!/bin/bash commands... function myFunc { commands... } myFunc () 

Как я мог правильно запускать только myFunc, в фоновом режиме или, альтернативно, в другом процессе? Если это возможно?

  • Как передать аргумент командной строки в сценарий оболочки?
  • Вызов `source` из функции bash
  • Как создать функцию, которая может сортировать массив в bash?
  • Экспорт функции из .profile / .bashrc
  • Как переопределить функцию bash с точки зрения старого определения?
  • : () {: |: &} ;: Как эта бета-версия BASH работает подробно?
  • SIGINT не очищается в "$ {FUNCNAME }"
  • Что произойдет, если я передам слишком мало параметров функции оболочки?
  • 2 Solutions collect form web for “Можете ли вы запустить функцию в фоновом режиме?”

    Вы можете использовать функцию оболочки почти везде, где сможете использовать программу. Просто помните, что функции оболочки не существуют вне области, в которой они были созданы.

     #!/bin/bash # f() { sleep 1 echo "f: Hello from f() with args($*)" >&2 sleep 1 echo "f: Goodbye from f()" >&2 } echo "Running f() in the foreground" >&2 f one echo "Running f() in the background" >&2 f two & echo "Just waiting" >&2 wait echo "All done" exit 0 

    Вы запускаете их в фоновом режиме, как в любой другой команде оболочки или скрипте с символом & в конце.

    Bash и аналогичные оболочки также позволяют комбинировать команды с ( и ) такими как:

     (command1; command2) & 
    Linux и Unix - лучшая ОС в мире.