From owner-freebsd-questions@freebsd.org Fri Jan 26 11:57:51 2018 Return-Path: Delivered-To: freebsd-questions@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9A40BED2742 for ; Fri, 26 Jan 2018 11:57:51 +0000 (UTC) (envelope-from freebsd-doc@fjl.co.uk) Received: from bs1.fjl.org.uk (bs1.fjl.org.uk [84.45.41.196]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "bs1.fjl.org.uk", Issuer "bs1.fjl.org.uk" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 252F4701A8 for ; Fri, 26 Jan 2018 11:57:50 +0000 (UTC) (envelope-from freebsd-doc@fjl.co.uk) Received: from roundcube.fjl.org.uk (localhost [127.0.0.1]) by bs1.fjl.org.uk (8.14.4/8.14.4) with ESMTP id w0QBvfpS065676 for ; Fri, 26 Jan 2018 11:57:41 GMT (envelope-from freebsd-doc@fjl.co.uk) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Date: Fri, 26 Jan 2018 11:57:41 +0000 From: Frank Leonhardt To: Freebsd Questions Subject: Re: Limit resources for a given program In-Reply-To: References: <2014529083ae48e21732fa60a4062356@roundcube.fjl.org.uk> Message-ID: X-Sender: freebsd-doc@fjl.co.uk User-Agent: Roundcube Webmail/0.9.2 X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Jan 2018 11:57:51 -0000 On 2018-01-26 05:19, Olivier Nicole wrote: > Frank, > > On Thu, Jan 25, 2018 at 5:47 PM, Frank Leonhardt > wrote: >> On 2018-01-23 05:40, Olivier wrote: >>> >>> Is there a way, in FreeBSD, to limit the clocktime for a given >>> command? >>> >>> I use LibreOffice to automatically convert many types of documents to >>> PDF. When it is an HTML document with external links, it will run >>> indefinitely, trying to access the external resources. It will not >>> use >>> much CPU but mostly sits idled, so limits(8) -t is not the solution, >>> nor >>> is rctl(8) that needs a process ID (but I only have the command name) >>> or >>> a user ID (but I don't want to limit a user, just that program). >> >> >> I'm a bit confused about what your problem is? What exactly do you >> mean by >> "clocktime" - do you mean wall time (i.e. time elapsed)? You say it's >> not >> using a lot of resource, so what's the problem? >> >> Or do you just want to kill it when it gets stuck? > > Yes, I mean time elapsed. Even if it does not takes much resources, > when such process got launched again and again, it ends up having some > cost. > > So I want it to be killed when it gets stuck. Steve's plan using rctl posted at about same time is probably the safest way. The classic method is to use the $! shell variable, which gives the PID of the background process just started. So something like this should also work on all platforms - rctl &c is new. libreoffice whatever & sleep 60 ; kill $! Alternatively (if you want your prompt back): libreoffice whatever & echo kill $! | at +5 minutes The drawback with using $! and suchlike these days is that the pid could be reused in a relatively short space of time, especially if you're randomising PIDs for security.