Killing process in Shell Script

后端 未结 7 2042
囚心锁ツ
囚心锁ツ 2021-02-09 05:04

I have a very simple problem: When I run a shell script I start a program which runs in an infinite loop. After a while I wanna stop then this program before I can it again with

7条回答
  •  温柔的废话
    2021-02-09 05:51

    if you want to find out the PID of a process, you can use ps:

    [user@desktop ~]$ ps h -o pid -C app1
    

    the parameter -o pid says that you only want the PID of the process, -C app1 specifies the name of the process you want to query, and the parameter h is used to suppress the header of the result table (without it, you'd see a "PID" header above the PID itself). not that if there's more than one process with the same name, all the PIDs will be shown.

    if you want to kill that process, you might want to use:

    [user@desktop ~]$ kill `ps h -o pid -C app1`
    

    although killall is cleaner if you just want to do that (and if you don't mind killing all "app1" processes). you can also use head or tail if you want only the first or last PID, respectively.

    and a tip for the fish users: %process is replaced with the PID of process. so, in fish, you could use:

    user@desktop ~> kill %app1
    

提交回复
热议问题