Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 321437
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 12, 20262026-05-12T08:50:44+00:00 2026-05-12T08:50:44+00:00

I have a massive number of shell commands being executed with root/admin priveleges through

  • 0

I have a massive number of shell commands being executed with root/admin priveleges through Authorization Services’ “AuthorizationExecuteWithPrivileges” call. The issue is that after a while (10-15 seconds, maybe 100 shell commands) the program stops responding with this error in the debugger:

couldn’t fork: errno 35

And then while the app is running, I cannot launch any more applications. I researched this issue and apparently it means that there are no more threads available for the system to use. However, I checked using Activity Monitor and my app is only using 4-5 threads.

To fix this problem, I think what I need to do is separate the shell commands into a separate thread (away from the main thread). I have never used threading before, and I’m unsure where to start (no comprehensive examples I could find)

Thanks

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-12T08:50:45+00:00Added an answer on May 12, 2026 at 8:50 am

    As Louis Gerbarg already pointed out, your question has nothing to do with threads. I’ve edited your title and tags accordingly.

    I have a massive number of shell commands being executed with root/admin priveleges through Authorization Services’ “AuthorizationExecuteWithPrivileges” call.

    Don’t do that. That function only exists so you can restore the root:admin ownership and the setuid mode bit to the tool that you want to run as root.

    The idea is that you should factor out the code that should run as root into a completely separate program from the part that does not need to run as root, so that the part that needs root can have it (through the setuid bit) and the part that doesn’t need root can go without it (through not having setuid).

    A code example is in the Authorization Services Programming Guide.

    The issue is that after a while (10-15 seconds, maybe 100 shell commands) the program stops responding with this error in the debugger:

    couldn't fork: errno 35
    

    Yeah. You can only run a couple hundred processes at a time. This is an OS-enforced limit.

    It’s a soft limit, which means you can raise it—but only up to the hard limit, which you cannot raise. See the output of limit and limit -h (in zsh; I don’t know about other shells).

    You need to wait for processes to finish before running more processes.

    And then while the app is running, I cannot launch any more applications.

    Because you are already running as many processes as you’re allowed to. That x-hundred-process limit is per-user, not per-process.

    I researched this issue and apparently it means that there are no more threads available for the system to use.

    No, it does not.

    The errno error codes are used for many things. EAGAIN (35, “resource temporarily unavailable”) may mean no more threads when set by a system call that starts a thread, but it does not mean that when set by another system call or function.

    The error message you quoted explicitly says that it was set by fork, which is the system call to start a new process, not a new thread. In that context, EAGAIN means “you are already running as many processes as you can”. See the fork manpage.

    However, I checked using Activity Monitor and my app is only using 4-5 threads.

    See?

    To fix this problem, I think what I need to do is separate the shell commands into a separate thread (away from the main thread).

    Starting one process per thread will only help you run out of processes much faster.

    I have never used threading before …

    It sounds like you still haven’t, since the function you’re referring to starts a process, not a thread.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Background I have a massive db for a SharePoint site collection. It is 130GB
Have you determined a maximum number of characters allowed in FCKEditor ? I seem
Have just started using Google Chrome , and noticed in parts of our site,
Have you ever seen any of there error messages? -- SQL Server 2000 Could
Have you guys had any experiences (positive or negative) by placing your source code/solution
Have just started using Visual Studio Professional's built-in unit testing features, which as I
Have you used VS.NET Architect Edition's Application and System diagrams to start designing a
Have a n-tire web application and search often times out after 30 secs. How
Have you managed to get Aptana Studio debugging to work? I tried following this,
Have had to write my first proper multithreaded coded recently, and realised just how

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.