Sponsored Content
Operating Systems OS X (Apple) Need help writing an Applescript to launch a specific Terminal Command... Post 302405787 by JFraser1 on Saturday 20th of March 2010 04:55:56 PM
Old 03-20-2010
Bug Need help writing an Applescript to launch a specific Terminal Command...

I developed a script in Lingon (which is an automated script editor developed for OS X) that is used to automatically restart programs only if they crash. The script itself does just that, but I only want it to load if I'm going to use the specific application that it's designed to protect. In the OS X Terminal, when I type these two commands consecutively:

launchct1 unload "/Users/ME/Documents/Backed Files 2/Automator/Scripts/com.Restart.PROGRAM.Lingon.plist"
*ENTER*
launchct1 load "/Users/ME/Documents/Backed Files 2/Automator/Scripts/com.Restart.PROGRAM.Lingon.plist"
*ENTER*

My program immediately launches and, since I'll keep it running for several weeks, will always relaunch if it crashes. The problem is that I'm trying to create an Applescript (Shell Script) command that would incorporate these two previous commands in order for me to be able to launch it by way of double clicking my new script, as opposed to having to manually type these commands in the terminal and keep the terminal window open whenever I want to run my longterm program as a project. I'd assume that it would look something like this:

do shell script
{launchct1 unload "/Users/ME/Documents/Backed Files 2/Automator/Scripts/com.Restart.PROGRAM.Lingon.plist";
launchct1 unload "/Users/ME/Documents/Backed Files 2/Automator/Scripts/com.Restart.PROGRAM.Lingon.plist"}

but that doesn't work. I've tried to execute similar code into my Applescript using the Automator in order to test the shell script but everytime I run the changes it also reports an error. Any suggestions?

---------- Post updated at 12:40 AM ---------- Previous update was at 12:07 AM ----------

Can someone help me please?

---------- Post updated at 01:54 PM ---------- Previous update was at 12:40 AM ----------

do shell script
"launchctl unload '/Users/ME/Documents/Backed Files 2/Automator/Scripts/com.Restart.PROGRAM.Lingon.plist';
'launchctl unload /Users/ME/Documents/Backed Files 2/Automator/Scripts/com.Restart.PROGRAM.Lingon.plist'"}

---------- Post updated at 01:55 PM ---------- Previous update was at 01:54 PM ----------

Quote:
Originally Posted by JFraser1
[/COLOR]do shell script
"launchctl unload '/Users/ME/Documents/Backed Files 2/Automator/Scripts/com.Restart.PROGRAM.Lingon.plist';
'launchctl unload /Users/ME/Documents/Backed Files 2/Automator/Scripts/com.Restart.PROGRAM.Lingon.plist'"}
This code within the applescript got the program running as needed. All done.
 

10 More Discussions You Might Find Interesting

1. Solaris

Script to launch terminal window?

Hi, I am a newbie here. Trying to find a way of writing a script to launch multiple terminal or console windows on solaris 9. I used to be able to do this using cmdtool on older versions of solaris and it was even possible to configure the size and screen position of the window and the title. ... (5 Replies)
Discussion started by: omerta
5 Replies

2. Shell Programming and Scripting

Terminal vs. Applescript

I am running Mac OS X (10.5). I run the following script successfully in terminal in order to split an mp3 file into 3 smaller mp3 files... split -b 8667k -a1 Monday.mp3 Levin-Hour_; ls Lev* | sed "s/.*/mv '&' '&.mp3'/g" | zsh However, when I run a similar script within the Applescript editor... (2 Replies)
Discussion started by: tgaleza
2 Replies

3. Shell Programming and Scripting

Need help writing an Applescript to launch a specific Terminal Command...

I developed a script in Lingon (which is an automated script editor developed for OS X) that is used to automatically restart programs only if they crash. The script itself does just that, but I only want it to load if I'm going to use the specific application that it's designed to protect. In... (3 Replies)
Discussion started by: JFraser1
3 Replies

4. Shell Programming and Scripting

How do I launch a command on an existing terminal in unix using PERL

Hello, I have a PERL-TK based GUI from which I want to launch a command on an existing UNIX terminal (this is also the parent terminal for this perl based gui window). The command I want to launch is interactive (there is no intention to interact with that command from the same PERL gui i.e. no... (2 Replies)
Discussion started by: AnuragJindal
2 Replies

5. OS X (Apple)

[Solved] Running shell code in AppleScript without Terminal

What I want my script to do is to run a command in Terminal and close that same Terminal window when the process is complete. Of course I could ad a delay of 6 seconds to complete the process, but it may not be enough every time. To simplify my question, this is what I want to achieve.... (9 Replies)
Discussion started by: ShadowofLight
9 Replies

6. OS X (Apple)

Can't launch x11 remotely from terminal

After I installed OS X Lion I haven't been able to launch x11 remotely (using ssh) from Terminal. It works fine locally, and also remotely directly from the Xterm. I log in to the unix server at my university from the terminal like this: ssh -l -X login@host.com This used to launch... (1 Reply)
Discussion started by: gnyrf
1 Replies

7. Shell Programming and Scripting

applescript & grep - sed command

I'm new using Unix commands in applescript. The following script you choose different folders with PDfs, get file count of PDfs on chosen folders, & write the results in text file. set target_folder to choose folder with prompt "Choose target folders containing only PDFs to count files" with... (0 Replies)
Discussion started by: nellbern
0 Replies

8. Red Hat

Not able to see the terminal icon in the applications menu to launch the command prompt in Centos

After installing centos iam not able to see the terminal icon in the applications menu to launch the command prompt in Centos. However iam able to see the Open Terminal menu, when i right click and it is not working. let me know what are the things i need to check.:b: (1 Reply)
Discussion started by: Kesavan
1 Replies

9. Shell Programming and Scripting

SED command works in terminal, but not Applescript

The following command works perfectly in Terminal, but not in Applescript. (Returns "unknown token" error for square brackets.) (new to site. sorry.) I have an Applescript that is designed to find and remove any square-bracketed text, including the square brackets. I ran the following code from... (1 Reply)
Discussion started by: Phillip Acosta
1 Replies

10. Shell Programming and Scripting

Cannot get terminal application to launch with a graphical launcher when successful in terminal

I have been having an extremely annoying problem. For the record, I am relatively new at this. I've only been working with unix-based OS's for roughly two years, mostly Xubuntu and some Kali. I am pretty familiar with the BASH language, as that's the default shell for debian. Now, I've made this... (16 Replies)
Discussion started by: Huitzilopochtli
16 Replies
launchctl(1)						    BSD General Commands Manual 					      launchctl(1)

NAME
launchctl -- Interfaces with launchd SYNOPSIS
launchctl [subcommand [arguments ...]] DESCRIPTION
launchctl interfaces with launchd to load, unload daemons/agents and generally control launchd. launchctl supports taking subcommands on the command line, interactively or even redirected from standard input. These commands can be stored in $HOME/.launchd.conf or /etc/launchd.conf to be read at the time launchd starts. SUBCOMMANDS
load [-wF] [-S sessiontype] [-D domain] paths ... Load the specified configuration files or directories of configuration files. Jobs that are not on-demand will be started as soon as possible. All specified jobs will be loaded before any of them are allowed to start. Note that per-user configuration files (LaunchAgents) must be owned by the user loading them. All system-wide daemons (LaunchDaemons) must be owned by root. Configuration files must not be group- or world-writable. These restrictions are in place for security reasons, as allowing writability to a launchd configuration file allows one to specify which executable will be launched. Note that allowing non-root write access to the /System/Library/LaunchDaemons directory WILL render your system unbootable. -w Overrides the Disabled key and sets it to false. In previous versions, this option would modify the configuration file. Now the state of the Disabled key is stored elsewhere on-disk. -F Force the loading of the plist. Ignore the Disabled key. -S sessiontype Some jobs only make sense in certain contexts. This flag instructs launchctl to look for jobs in a different location when using the -D flag, and allows launchctl to restrict which jobs are loaded into which session types. Currently known session types include: Aqua, LoginWindow, Background, StandardIO and System. -D domain Look for plist(5) files ending in *.plist in the domain given. Valid domains include "system," "local," "network" and "all." When providing a session type, an additional domain is available for use called "user." For example, without a ses- sion type given, "-D system" would load from property list files from /System/Library/LaunchDaemons. With a session type passed, it would load from /System/Library/LaunchAgents. unload [-w] [-S sessiontype] [-D domain] paths ... Unload the specified configuration files or directories of configuration files. This will also stop the job if it is running. -w Overrides the Disabled key and sets it to true. In previous versions, this option would modify the configuration file. Now the state of the Disabled key is stored elsewhere on-disk. -S sessiontype Some jobs only make sense in certain contexts. This flag instructs launchctl to look for jobs in a different location when using the -D flag, and allows launchctl to restrict which jobs are loaded into which session types. Currently known session types include: Aqua, LoginWindow, Background, StandardIO and System. -D domain Look for plist(5) files ending in *.plist in the domain given. Valid domains include "system," "local," "network" and "all." When providing a session type, an additional domain is available for use called "user." For example, without a ses- sion type given, "-D system" would load from property list files from /System/Library/LaunchDaemons. With a session type passed, it would load from /System/Library/LaunchAgents. submit -l label [-p executable] [-o path] [-e path] -- command [args] A simple way of submitting a program to run without a configuration file. This mechanism also tells launchd to keep the program alive in the event of failure. -l label What unique label to assign this job to launchd. -p program What program to really execute, regardless of what follows the -- in the submit sub-command. -o path Where to send the stdout of the program. -e path Where to send the stderr of the program. remove job_label Remove the job from launchd by label. start job_label Start the specified job by label. The expected use of this subcommand is for debugging and testing so that one can manually kick- start an on-demand server. stop job_label Stop the specified job by label. If a job is on-demand, launchd may immediately restart the job if launchd finds any criteria that is satisfied. Non-demand based jobs will always be restarted. Use of this subcommand is discouraged. Jobs should ideally idle timeout by themselves. list [-x] [label] With no arguments, list all of the jobs loaded into launchd in three columns. The first column displays the PID of the job if it is running. The second column displays the last exit status of the job. If the number in this column is negative, it represents the negative of the signal which killed the job. Thus, "-15" would indicate that the job was terminated with SIGTERM. The third column is the job's label. Note that you may see some jobs in the list whose labels are in the style "0xdeadbeef.anonymous.program". These are jobs which are not managed by launchd, but, at one point, made a request to it. launchd claims no ownership and makes no guarantees regarding these jobs. They are stored purely for bookkeeping purposes. Similarly, you may see labels of the style "0xdeadbeef.mach_init.program". These are legacy jobs that run under mach_init emulation. This mechanism will be removed in future versions, and all remaining mach_init jobs should be converted over to launchd. If [label] is specified, prints information about the requested job. If [-x] is specified, the information for the specified job is output as an XML property list. setenv key value Set an environmental variable inside of launchd. unsetenv key Unset an environmental variable inside of launchd. getenv key Get an environmental variable inside of launchd. export Export all of the environmental variables of launchd for use in a shell eval statement. getrusage self | children Get the resource utilization statistics for launchd or the children of launchd. log [level loglevel] [only | mask loglevels...] Get and set the syslog(3) log level mask. The available log levels are: debug, info, notice, warning, error, critical, alert and emergency. limit [cpu | filesize | data | stack | core | rss | memlock | maxproc | maxfiles] [both [soft | hard]] With no arguments, this command prints all the resource limits of launchd as found via getrlimit(2). When a given resource is spec- ified, it prints the limits for that resource. With a third argument, it sets both the hard and soft limits to that value. With four arguments, the third and forth argument represent the soft and hard limits respectively. See setrlimit(2). shutdown Tell launchd to prepare for shutdown by removing all jobs. umask [newmask] Get or optionally set the umask(2) of launchd. bslist [PID | ..] [-j] This prints out Mach bootstrap services and their respective states. While the namespace appears flat, it is in fact hierarchical, thus allowing for certain services to be only available to a subset of processes. The three states a service can be in are active ("A"), inactive ("I") and on-demand ("D"). If [PID] is specified, print the Mach bootstrap services available to that PID. If [..] is specified, print the Mach bootstrap ser- vices available in the parent of the current bootstrap. Note that in Mac OS X v10.6, the per-user Mach bootstrap namespace is flat, so you will only see a different set of services in a per-user bootstrap if you are in an explicitly-created bootstrap subset. If [-j] is specified, each service name will be followed by the name of the job which registered it. bsexec PID command [args] This executes the given command in the same Mach bootstrap namespace hierachy as the given PID. bstree [-j] This prints a hierarchical view of the entire Mach bootstrap tree. If [-j] is specified, each service name will be followed by the name of the job which registered it. Requires root privileges. managerpid This prints the PID of the launchd which manages the current bootstrap. manageruid This prints the UID of the launchd which manages the current bootstrap. managername This prints the name of the launchd job manager which manages the current bootstrap. See LimitLoadToSessionType in launchd.plist(5) for more details. help Print out a quick usage statement. ENVIRONMENTAL VARIABLES
LAUNCHD_SOCKET This variable informs launchctl how to find the correct launchd to talk to. If it is missing, launchctl will use a built-in default. FILES
~/Library/LaunchAgents Per-user agents provided by the user. /Library/LaunchAgents Per-user agents provided by the administrator. /Library/LaunchDaemons System wide daemons provided by the administrator. /System/Library/LaunchAgents Mac OS X Per-user agents. /System/Library/LaunchDaemons Mac OS X System wide daemons. SEE ALSO
launchd.plist(5), launchd.conf(5), launchd(8) Darwin 1 May, 2009 Darwin
All times are GMT -4. The time now is 07:14 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy