this post was submitted on 09 Feb 2024
29 points (91.4% liked)

Linux

48409 readers
707 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

I'm trying to write a simple bash script that opens up GQRX, sends it some TCP commands, then closes it down.

Unfortunately, I've found that when I close the program like this, the next time it opens, it will pop up a window saying "crash detected" and ask me to review the configuration file. This prevents the app from loading unless someone is present to click the dialog box.

This error only seems to happen when I try to close the program using the bash script. Closing it by just clicking the X doesn't cause this problem next time it's launched.

I think I'm closing the app too aggressively which terminates it before it can wrap up its affairs, and it interprets this as a crash. What's the best way to close the app to keep this from happening?

I've tried:

  • pkill -3 gqrx
  • pkill -13 gqrx

But the problem persists. Is there an even softer way to close an application?

you are viewing a single comment's thread
view the rest of the comments
[–] BCsven@lemmy.ca 2 points 9 months ago (7 children)

Closing from the X icon on the app window lets the program write out any info it needs to before shutdown. Killing the process from the terminal just ends the process totally

[–] rufus@discuss.tchncs.de 13 points 9 months ago* (last edited 9 months ago) (5 children)

That is not true. If you use SIGKILL (9) it ends the process totally. Other signals don't do that. And per default the cli commands don't send SIGKILL, but SIGTERM. It nicely asks the program to terminate and the program is supposed to write down it's data and do what it needs to do when signaled like that. You'd need to attach a '-9' to kill it without warning. (Even if the command is called 'kill'.)

[–] BCsven@lemmy.ca 2 points 9 months ago* (last edited 9 months ago)

then it sounds like what is being killed has another child or parallel process that isn't getting killed by the command used. Or Sigterm 15 is needed for graceful shutdown of process

load more comments (4 replies)
load more comments (5 replies)