- Learning Linux Shell Scripting
- Ganesh Sanjiv Naik
- 540字
- 2021-08-20 10:44:29
Process management
Since we have understood the command to check processes, we will learn more about managing different processes as follows:
- In a Bash shell, when we enter any command or start any program, it starts running in foreground. In such a situation, we cannot run more than one command in the foreground. We need to create many terminal windows for starting many processes. If we need to start many processes or programs from the same terminal, then we will need to start them as background processes.
- If we want to start a process in the background, then we need to append the command in the Bash shell by
&
. - If I want to start my program
Hello
as the background process, then the command would be as follows:$ Hello &
- If we terminate any command by
&
, then it starts running as the background process.
For example, we will issue a simple sleep
command, which creates a new process. This process sleeps for the duration, which is mentioned in the integer value next to the sleep
command:
- The following used command will make the process sleep for
10000
seconds. This means we will not be able to use any other command from the same terminal:$ sle ep 10000
- Now, you can press the Ctrl + C key combination to terminate the process created by the
sleep
command. - Now, use the following command:
$ sleep 10000 &
The preceding command will create a new process, which will be put to sleep for
10000
seconds; but this time, it will start running in the background. Therefore, we will be able to enter the next command in the Bash terminal. - Since the newly created process is running in the background, we can enter new commands very easily in the newly created terminal:
$ sleep 20000 & $ sleep 30000 & $ sleep 40000 &
- To check the presence of all the processes, enter the following command:
$ jobs
The jobs command lists all the processes running in terminal, including foreground and background processes. You can clearly see their status as running, suspended, or stopped. The numbers in
[]
show the job ID. The+
sign indicates which command will receivefg
andbg
commands by default. We will study them in the next topics. - If you want to make any existing background process to run in the foreground, then use the following command:
$ fg 3
The preceding command will make the job number
3
to run in the foreground instead of the background.If we want to make the process to stop executing and get it suspended, then press Ctrl + Z. This key combination makes the foreground process to stop executing. Please note that the process has stopped but not terminated.
- To make the stopped process continue running in background, use the following command:
$ bg job_number $ bg 3
The preceding command will make suspended job numbered process
3
to run in background. - If you wish to terminate the process, you can use the job ID or process ID as follows:
$ jobs –l // This will list jobs with pid $ kill pid or $ kill %job_id // This will kill job $ kill %3
- jQuery Mobile Web Development Essentials(Third Edition)
- WildFly:New Features
- 玩轉Scratch少兒趣味編程
- 數據庫系統教程(第2版)
- PostgreSQL for Data Architects
- 編程卓越之道(卷3):軟件工程化
- Python爬蟲開發:從入門到實戰(微課版)
- Java游戲服務器架構實戰
- HTML5+CSS3網頁設計
- 深入RabbitMQ
- Test-Driven JavaScript Development
- Hands-On GUI Programming with C++ and Qt5
- PHP 7從零基礎到項目實戰
- Web前端開發技術:HTML、CSS、JavaScript
- Software-Defined Networking with OpenFlow(Second Edition)