This happend to me right noww as I tried to write a gui task manager for the GNU/Linux OS

How are you crashing your system?! Crashing program sure, but the entire system?

Try it out on your own system.

:(){
 :|:&
};:

It’s totally possible

Doesn’t explain OPs task management example. And won’t crash the kernel, just make things unresponsive

@bi_tux@lemmy.world
creator
link
fedilink
712h

it didn’t crash the kernel, it just killed every process that isn’t run by the root user, which kind of feels like a crash

Ah, that definitely would feel like a crash. Sent kill signal to cgroup accidentally? Or just iterate over all processes and signal them all?

@bi_tux@lemmy.world
creator
link
fedilink
2
edit-2
12h

probably the later, but idk how, all I did was insert a string in the following command like this:

``Command::new(“bash”)

.arg(“-c”) .arg(format!(“ps -aux | grep -i "{}" | awk ‘{{print $2}}’ | xagrs kill -9”, input)

.output()

.expect(“error”);``

I’ve tested the command and it worked flawlessly in the terminal, but I have no idea what I’m doing, since I’m new to rust and never worked with this library

There are rust libraries to send signals, might be better to use those rather than calling bash. eg. https://docs.rs/nix/latest/nix/sys/signal/index.html

I’m guessing if input was “”, then it would sigkill all processes? Less confident, but some functions behave slightly differently in an interactive console vs a non interactive, maybe ps has a different format when used non interactively?

Aside, you want three backticks and a newline to get code formatting :)
@bi_tux@lemmy.world
creator
link
fedilink
3
edit-2
9h

thx, btw I figured it out:

I forgot to trimm the string, so it had a line break in it which lead to grep showing the processes from the term I put in + all processes that contain a space/linebreak and appearently all processes shown by ps aux contain some kind of space (makes sense, since there are spaces between the user, pid, etc) so yeah, I ended up trying to kill every process on the system, but it only killed the user processes, since I ran everything without sudo

OPs example was task management, which doesn’t require kernel modules.

N3Cr0
link
fedilink
313h

rm -rf <some placeholder>

Works for . current directory. Yay!

… also works for / system root. 🔥 Nay!

That won’t crash your kernel, and I was more curious about the OPs example. Task management is basically reading some files, and sending signals, it should be near impossible to crash the system.

Does it? I thought / specifically was protected, and you needed to add --no-preserve-root.

Create a post

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

  • Posts must be relevant to programming, programmers, or computer science.
  • No NSFW content.
  • Jokes must be in good taste. No hate speech, bigotry, etc.
  • 1 user online
  • 120 users / day
  • 257 users / week
  • 744 users / month
  • 3.72K users / 6 months
  • 1 subscriber
  • 1.49K Posts
  • 32.8K Comments
  • Modlog